28 Jul, 2020

1 commit


13 May, 2020

1 commit


07 May, 2020

1 commit

  • Convert the various /* fallthrough */ comments to the pseudo-keyword
    fallthrough;

    Done via script:
    https://lore.kernel.org/lkml/b56602fcf79f849e733e7b521bb0e17895d390fa.1582230379.git.joe@perches.com/

    Signed-off-by: Liangliang Huang
    Reviewed-by: Huacai Chen
    Signed-off-by: Thomas Bogendoerfer

    Liangliang Huang
     

20 Feb, 2020

1 commit

  • The Atheros 7/9xxx platform code is not a clock provider, and just needs
    to call of_clk_init().

    Hence it can include instead of .

    Signed-off-by: Geert Uytterhoeven
    Reviewed-by: Philippe Mathieu-Daudé
    Reviewed-by: Stephen Boyd
    Signed-off-by: Paul Burton
    Cc: Ralf Baechle
    Cc: Florian Fainelli
    Cc: Paul Cercueil
    Cc: James Hartley
    Cc: John Crispin
    Cc: linux-mips@vger.kernel.org
    Cc: bcm-kernel-feedback-list@broadcom.com
    Cc: linux-clk@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org

    Geert Uytterhoeven
     

06 Jan, 2020

1 commit


18 Jul, 2019

1 commit

  • Pull MIPS updates from Paul Burton:
    "A light batch this time around but significant improvements for
    certain systems:

    - Removal of readq & writeq for MIPS32 kernels where they would
    simply BUG() anyway, allowing drivers or other code that #ifdefs on
    their presence to work properly.

    - Improvements for Ingenic JZ4740 systems, including support for the
    external memory controller & pinmuxing fixes for qi_lb60/NanoNote
    systems.

    - Improvements for Lantiq systems, in particular around SMP & IPIs.

    - DT updates for ralink/MediaTek MT7628a systems to probe & configure
    a bunch more devices.

    - Miscellaneous cleanups & build fixes"

    * tag 'mips_5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux: (30 commits)
    MIPS: fix some more fall through errors in arch/mips
    MIPS: perf events: handle switch statement falling through warnings
    mips/kprobes: Export kprobe_fault_handler()
    MAINTAINERS: Add myself as Ingenic SoCs maintainer
    MIPS: ralink: mt7628a.dtsi: Add watchdog controller DT node
    MIPS: ralink: mt7628a.dtsi: Add SPI controller DT node
    MIPS: ralink: mt7628a.dtsi: Add GPIO controller DT node
    MIPS: ralink: mt7628a.dtsi: Add pinctrl DT properties to the UART nodes
    MIPS: ralink: mt7628a.dtsi: Add pinmux DT node
    MIPS: ralink: mt7628a.dtsi: Add SPDX GPL-2.0 license identifier
    MIPS: lantiq: Add SMP support for lantiq interrupt controller
    MIPS: lantiq: Shorten register names, remove unused macros
    MIPS: lantiq: Fix bitfield masking
    MIPS: lantiq: Remove unused macros
    MIPS: lantiq: Fix attributes of of_device_id structure
    MIPS: lantiq: Change variables to the same type as the source
    MIPS: lantiq: Move macro directly to iomem function
    mips: Remove q-accessors from non-64bit platforms
    FDDI: defza: Include linux/io-64-nonatomic-lo-hi.h
    MIPS: configs: Remove useless UEVENT_HELPER_PATH
    ...

    Linus Torvalds
     

16 Jul, 2019

1 commit

  • Fix these errors:

    arch/mips/cavium-octeon/executive/cvmx-pko.c:489:7: error: this statement may fall through [-Werror=implicit-fallthrough=]
    arch/mips/bcm63xx/dev-flash.c:89:3: error: this statement may fall through [-Werror=implicit-fallthrough=]
    arch/mips/ath79/setup.c:155:17: error: this statement may fall through [-Werror=implicit-fallthrough=]
    arch/mips/ar7/setup.c:50:3: error: this statement may fall through [-Werror=implicit-fallthrough=]

    Cc: Florian Fainelli
    Cc: Thomas Gleixner
    Cc: John Crispin
    Cc: Matthias Schiffer
    Cc: "Petr Štetiar"
    Signed-off-by: Stephen Rothwell
    Signed-off-by: Paul Burton

    Stephen Rothwell
     

19 Jun, 2019

1 commit

  • Based on 2 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation #

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 4122 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Enrico Weigelt
    Reviewed-by: Kate Stewart
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190604081206.933168790@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

16 May, 2019

1 commit

  • Now that we've gotten rid of clk_readl() we can remove io.h from the
    clk-provider header and push out the io.h include to any code that isn't
    already including the io.h header but using things like readl/writel,
    etc.

    Found with this grep:

    git grep -l clk-provider.h | grep '.c$' | xargs git grep -L 'linux/io.h' | \
    xargs git grep -l \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\' --or \
    -e '\'

    I also reordered a couple includes when they weren't alphabetical and
    removed clk.h from kona, replacing it with clk-provider.h because
    that driver doesn't use clk consumer APIs.

    Acked-by: Geert Uytterhoeven
    Cc: Chen-Yu Tsai
    Acked-by: Maxime Ripard
    Acked-by: Tero Kristo
    Acked-by: Sekhar Nori
    Cc: Krzysztof Kozlowski
    Acked-by: Mark Brown
    Cc: Chris Zankel
    Acked-by: Max Filippov
    Acked-by: John Crispin
    Acked-by: Heiko Stuebner
    Signed-off-by: Stephen Boyd

    Stephen Boyd
     

17 Apr, 2019

1 commit

  • Currently it's not possible to use perf on ath79 due to genirq flags
    mismatch happening on static virtual IRQ 13 which is used for
    performance counters hardware IRQ 5.

    On TP-Link Archer C7v5:

    CPU0
    2: 0 MIPS 2 ath9k
    4: 318 MIPS 4 19000000.eth
    7: 55034 MIPS 7 timer
    8: 1236 MISC 3 ttyS0
    12: 0 INTC 1 ehci_hcd:usb1
    13: 0 gpio-ath79 2 keys
    14: 0 gpio-ath79 5 keys
    15: 31 AR724X PCI 1 ath10k_pci

    $ perf top
    genirq: Flags mismatch irq 13. 00014c83 (mips_perf_pmu) vs. 00002003 (keys)

    On TP-Link Archer C7v4:

    CPU0
    4: 0 MIPS 4 19000000.eth
    5: 7135 MIPS 5 1a000000.eth
    7: 98379 MIPS 7 timer
    8: 30 MISC 3 ttyS0
    12: 90028 INTC 0 ath9k
    13: 5520 INTC 1 ehci_hcd:usb1
    14: 4623 INTC 2 ehci_hcd:usb2
    15: 32844 AR724X PCI 1 ath10k_pci
    16: 0 gpio-ath79 16 keys
    23: 0 gpio-ath79 23 keys

    $ perf top
    genirq: Flags mismatch irq 13. 00014c80 (mips_perf_pmu) vs. 00000080 (ehci_hcd:usb1)

    This problem is happening, because currently statically assigned virtual
    IRQ 13 for performance counters is not claimed during the initialization
    of MIPS PMU during the bootup, so the IRQ subsystem doesn't know, that
    this interrupt isn't available for further use.

    So this patch fixes the issue by simply booking hardware IRQ 5 for MIPS PMU.

    Tested-by: Kevin 'ldir' Darbyshire-Bryant
    Signed-off-by: Petr Štetiar
    Acked-by: John Crispin
    Acked-by: Marc Zyngier
    Signed-off-by: Paul Burton
    Cc: linux-mips@vger.kernel.org
    Cc: Ralf Baechle
    Cc: James Hogan
    Cc: Thomas Gleixner
    Cc: Jason Cooper

    Petr Štetiar
     

23 Jan, 2019

11 commits

  • With the target now being fully OF based, we can drop the legacy clock
    registration code. All clocks are now probed via devicetree.

    Signed-off-by: John Crispin
    Signed-off-by: Paul Burton
    Cc: Ralf Baechle
    Cc: James Hogan
    Cc: Rob Herring
    Cc: Pengutronix Kernel Team
    Cc: linux-mips@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Cc: Felix Fietkau

    John Crispin
     
  • With the target now being fully OF based, we can drop the legacy platform
    device registration code. All devices and their drivers are now probed
    via OF.

    Signed-off-by: John Crispin
    Signed-off-by: Paul Burton
    Cc: Ralf Baechle
    Cc: James Hogan
    Cc: Rob Herring
    Cc: Pengutronix Kernel Team
    Cc: linux-mips@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Cc: Felix Fietkau

    John Crispin
     
  • With the target now being fully OF based, we can drop the legacy pci
    platform code. The only bits that we need to keep is the fixup code
    which we move to its own code file.

    Signed-off-by: John Crispin
    Signed-off-by: Paul Burton
    Cc: Ralf Baechle
    Cc: James Hogan
    Cc: Rob Herring
    Cc: Pengutronix Kernel Team
    Cc: linux-mips@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Cc: Felix Fietkau

    John Crispin
     
  • With the target now being fully OF based, we can drop the legacy mach
    files. Boards can now boot fully of devicetree files.

    Signed-off-by: John Crispin
    Signed-off-by: Paul Burton
    Cc: Ralf Baechle
    Cc: James Hogan
    Cc: Rob Herring
    Cc: Pengutronix Kernel Team
    Cc: linux-mips@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Cc: Felix Fietkau

    John Crispin
     
  • With the target now being fully OF based, we can drop the legacy IRQ code.
    All IRQs are now handled via the new irqchip drivers.

    Signed-off-by: John Crispin
    Signed-off-by: Paul Burton
    Cc: Ralf Baechle
    Cc: James Hogan
    Cc: Rob Herring
    Cc: Pengutronix Kernel Team
    Cc: linux-mips@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Cc: Felix Fietkau

    John Crispin
     
  • On AR934x, the MDIO reference clock can be configured to a fixed 100 MHz
    clock. If that feature is not used, it defaults to the main reference
    clock, like on all other SoC.

    Signed-off-by: Felix Fietkau
    Signed-off-by: John Crispin
    Acked-by: Rob Herring
    Signed-off-by: Paul Burton
    Cc: Ralf Baechle
    Cc: James Hogan
    Cc: Rob Herring
    Cc: Pengutronix Kernel Team
    Cc: linux-mips@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: devicetree@vger.kernel.org

    Felix Fietkau
     
  • Use the same functions as the legacy code

    Signed-off-by: Felix Fietkau
    Signed-off-by: John Crispin
    Signed-off-by: Paul Burton
    Cc: Ralf Baechle
    Cc: James Hogan
    Cc: Rob Herring
    Cc: Pengutronix Kernel Team
    Cc: linux-mips@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: devicetree@vger.kernel.org

    Felix Fietkau
     
  • It can be autodetected for many SoCs using the strapping options.
    If the clock is specified in DT, the autodetected value is ignored

    Signed-off-by: Felix Fietkau
    Signed-off-by: John Crispin
    Signed-off-by: Paul Burton
    Cc: Ralf Baechle
    Cc: James Hogan
    Cc: Rob Herring
    Cc: Pengutronix Kernel Team
    Cc: linux-mips@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: devicetree@vger.kernel.org

    Felix Fietkau
     
  • Preparation for passing the mapped base via DT

    Signed-off-by: Felix Fietkau
    Signed-off-by: John Crispin
    Signed-off-by: Paul Burton
    Cc: Ralf Baechle
    Cc: James Hogan
    Cc: Rob Herring
    Cc: Pengutronix Kernel Team
    Cc: linux-mips@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: devicetree@vger.kernel.org

    Felix Fietkau
     
  • Preparation for reusing functions for DT

    Signed-off-by: Felix Fietkau
    Signed-off-by: John Crispin
    Signed-off-by: Paul Burton
    Cc: Ralf Baechle
    Cc: James Hogan
    Cc: Rob Herring
    Cc: Pengutronix Kernel Team
    Cc: linux-mips@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: devicetree@vger.kernel.org

    Felix Fietkau
     
  • Preparation for transitioning the legacy clock setup code over
    to OF.

    Signed-off-by: Felix Fietkau
    Signed-off-by: John Crispin
    Acked-by: Rob Herring
    Signed-off-by: Paul Burton
    Cc: Ralf Baechle
    Cc: James Hogan
    Cc: Rob Herring
    Cc: Pengutronix Kernel Team
    Cc: linux-mips@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: devicetree@vger.kernel.org

    Felix Fietkau
     

23 Nov, 2018

1 commit

  • There is no good reason to duplicate the PCI menu in every architecture.
    Instead provide a selectable HAVE_PCI symbol that indicates availability
    of PCI support, and a FORCE_PCI symbol to for PCI on and the handle the
    rest in drivers/pci.

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Palmer Dabbelt
    Acked-by: Max Filippov
    Acked-by: Thomas Gleixner
    Acked-by: Bjorn Helgaas
    Acked-by: Geert Uytterhoeven
    Acked-by: Paul Burton
    Signed-off-by: Masahiro Yamada

    Christoph Hellwig
     

31 Oct, 2018

1 commit

  • Move remaining definitions and declarations from include/linux/bootmem.h
    into include/linux/memblock.h and remove the redundant header.

    The includes were replaced with the semantic patch below and then
    semi-automated removal of duplicated '#include

    @@
    @@
    - #include
    + #include

    [sfr@canb.auug.org.au: dma-direct: fix up for the removal of linux/bootmem.h]
    Link: http://lkml.kernel.org/r/20181002185342.133d1680@canb.auug.org.au
    [sfr@canb.auug.org.au: powerpc: fix up for removal of linux/bootmem.h]
    Link: http://lkml.kernel.org/r/20181005161406.73ef8727@canb.auug.org.au
    [sfr@canb.auug.org.au: x86/kaslr, ACPI/NUMA: fix for linux/bootmem.h removal]
    Link: http://lkml.kernel.org/r/20181008190341.5e396491@canb.auug.org.au
    Link: http://lkml.kernel.org/r/1536927045-23536-30-git-send-email-rppt@linux.vnet.ibm.com
    Signed-off-by: Mike Rapoport
    Signed-off-by: Stephen Rothwell
    Acked-by: Michal Hocko
    Cc: Catalin Marinas
    Cc: Chris Zankel
    Cc: "David S. Miller"
    Cc: Geert Uytterhoeven
    Cc: Greentime Hu
    Cc: Greg Kroah-Hartman
    Cc: Guan Xuetao
    Cc: Ingo Molnar
    Cc: "James E.J. Bottomley"
    Cc: Jonas Bonn
    Cc: Jonathan Corbet
    Cc: Ley Foon Tan
    Cc: Mark Salter
    Cc: Martin Schwidefsky
    Cc: Matt Turner
    Cc: Michael Ellerman
    Cc: Michal Simek
    Cc: Palmer Dabbelt
    Cc: Paul Burton
    Cc: Richard Kuo
    Cc: Richard Weinberger
    Cc: Rich Felker
    Cc: Russell King
    Cc: Serge Semin
    Cc: Thomas Gleixner
    Cc: Tony Luck
    Cc: Vineet Gupta
    Cc: Yoshinori Sato
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Rapoport
     

14 Aug, 2018

1 commit

  • Pull MIPS updates from Paul Burton:
    "Here are the main MIPS changes for 4.19.

    An overview of the general architecture changes:

    - Massive DMA ops refactoring from Christoph Hellwig (huzzah for
    deleting crufty code!).

    - We introduce NT_MIPS_DSP & NT_MIPS_FP_MODE ELF notes &
    corresponding regsets to expose DSP ASE & floating point mode state
    respectively, both for live debugging & core dumps.

    - We better optimize our code by hard-coding cpu_has_* macros at
    compile time where their values are known due to the ISA revision
    that the kernel build is targeting.

    - The EJTAG exception handler now better handles SMP systems, where
    it was previously possible for CPUs to clobber a register value
    saved by another CPU.

    - Our implementation of memset() gained a couple of fixes for MIPSr6
    systems to return correct values in some cases where stores fault.

    - We now implement ioremap_wc() using the uncached-accelerated cache
    coherency attribute where supported, which is detected during boot,
    and fall back to plain uncached access where necessary. The
    MIPS-specific (and unused in tree) ioremap_uncached_accelerated() &
    ioremap_cacheable_cow() are removed.

    - The prctl(PR_SET_FP_MODE, ...) syscall is better supported for SMP
    systems by reworking the way we ensure remote CPUs that may be
    running threads within the affected process switch mode.

    - Systems using the MIPS Coherence Manager will now set the
    MIPS_IC_SNOOPS_REMOTE flag to avoid some unnecessary cache
    maintenance overhead when flushing the icache.

    - A few fixes were made for building with clang/LLVM, which now
    sucessfully builds kernels for many of our platforms.

    - Miscellaneous cleanups all over.

    And some platform-specific changes:

    - ar7 gained stubs for a few clock API functions to fix build
    failures for some drivers.

    - ath79 gained support for a few new SoCs, a few fixes & better
    gpio-keys support.

    - Ci20 now exposes its SPI bus using the spi-gpio driver.

    - The generic platform can now auto-detect a suitable value for
    PHYS_OFFSET based upon the memory map described by the device tree,
    allowing us to avoid wasting memory on page book-keeping for
    systems where RAM starts at a non-zero physical address.

    - Ingenic systems using the jz4740 platform code now link their
    vmlinuz higher to allow for kernels of a realistic size.

    - Loongson32 now builds the kernel targeting MIPSr1 rather than
    MIPSr2 to avoid CPU errata.

    - Loongson64 gains a couple of fixes, a workaround for a write
    buffering issue & support for the Loongson 3A R3.1 CPU.

    - Malta now uses the piix4-poweroff driver to handle powering down.

    - Microsemi Ocelot gained support for its SPI bus & NOR flash, its
    second MDIO bus and can now be supported by a FIT/.itb image.

    - Octeon saw a bunch of header cleanups which remove a lot of
    duplicate or unused code"

    * tag 'mips_4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux: (123 commits)
    MIPS: Remove remnants of UASM_ISA
    MIPS: netlogic: xlr: Remove erroneous check in nlm_fmn_send()
    MIPS: VDSO: Force link endianness
    MIPS: Always specify -EB or -EL when using clang
    MIPS: Use dins to simplify __write_64bit_c0_split()
    MIPS: Use read-write output operand in __write_64bit_c0_split()
    MIPS: Avoid using array as parameter to write_c0_kpgd()
    MIPS: vdso: Allow clang's --target flag in VDSO cflags
    MIPS: genvdso: Remove GOT checks
    MIPS: Remove obsolete MIPS checks for DST node "chosen@0"
    MIPS: generic: Remove input symbols from defconfig
    MIPS: Delete unused code in linux32.c
    MIPS: Remove unused sys_32_mmap2
    MIPS: Remove nabi_no_regargs
    mips: dts: mscc: enable spi and NOR flash support on ocelot PCB123
    mips: dts: mscc: Add spi on Ocelot
    MIPS: Loongson: Merge load addresses
    MIPS: Loongson: Set Loongson32 to MIPS32R1
    MIPS: mscc: ocelot: add interrupt controller properties to GPIO controller
    MIPS: generic: Select MIPS_AUTO_PFN_OFFSET
    ...

    Linus Torvalds
     

25 Jul, 2018

3 commits

  • This patch ensures, that the pinmux register is properly setup for the
    boot console UART when early_printk is enabled.

    [paul.burton@mips.com:
    - s/poinmux/pinmux/
    - s/uart/UART/
    - Drop extraneous parentheses.]

    Signed-off-by: Gabor Juhos
    Signed-off-by: John Crispin
    Signed-off-by: Paul Burton
    Cc: James Hogan
    Cc: Ralf Baechle
    Cc: linux-mips@linux-mips.org

    Gabor Juhos
     
  • This patch disables irq on reboot to fix hang issues that were observed
    due to pending interrupts.

    Signed-off-by: Felix Fietkau
    Signed-off-by: John Crispin
    Signed-off-by: Paul Burton
    Patchwork: https://patchwork.linux-mips.org/patch/19913/
    Cc: James Hogan
    Cc: Ralf Baechle
    Cc: linux-mips@linux-mips.org

    Felix Fietkau
     
  • This patch adds support for 2 new types of QCA silicon. TP9343 is
    essentially the same as the QCA956X but is licensed by TPLink.

    Signed-off-by: Weijie Gao
    Signed-off-by: Matthias Schiffer
    Signed-off-by: John Crispin
    Signed-off-by: Paul Burton
    Patchwork: https://patchwork.linux-mips.org/patch/19911/
    Cc: James Hogan
    Cc: Ralf Baechle
    Cc: linux-mips@linux-mips.org

    Matthias Schiffer
     

21 Jul, 2018

1 commit

  • ath79_ddr_wb_flush_base has the type void __iomem *, so register offsets
    need to be a multiple of 4 in order to access the intended register.

    Signed-off-by: Felix Fietkau
    Signed-off-by: John Crispin
    Signed-off-by: Paul Burton
    Fixes: 24b0e3e84fbf ("MIPS: ath79: Improve the DDR controller interface")
    Patchwork: https://patchwork.linux-mips.org/patch/19912/
    Cc: Alban Bedel
    Cc: James Hogan
    Cc: Ralf Baechle
    Cc: linux-mips@linux-mips.org
    Cc: stable@vger.kernel.org # 4.2+

    Felix Fietkau
     

18 Jul, 2018

1 commit

  • prom_putchar() is used centrally in early printk infrastructure therefore
    at least MIPS should agree on the function return type.

    [paul.burton@mips.com:
    - Include linux/types.h in asm/setup.h to gain the bool typedef before
    we start include asm/setup.h elsewhere.
    - Include asm/setup.h in all files that use or define prom_putchar().
    - Also standardise on signed rather than unsigned char argument.]

    Signed-off-by: Alexander Sverdlin
    Signed-off-by: Paul Burton
    Patchwork: https://patchwork.linux-mips.org/patch/19842/
    Cc: linux-mips@linux-mips.org
    Cc: Ralf Baechle
    Cc: James Hogan
    Cc: Jonas Gorski
    Cc: Florian Fainelli
    Cc: Kate Stewart
    Cc: Philippe Ombredanne

    Alexander Sverdlin
     

19 Jun, 2018

1 commit

  • I used bad names in my clumsiness when rewriting many board
    files to use GPIO descriptors instead of platform data. A few
    had the platform_device ID set to -1 which would indeed give
    the device name "i2c-gpio".

    But several had it set to >=0 which gives the names
    "i2c-gpio.0", "i2c-gpio.1" ...

    Fix the one affected board in the MIPS tree. Sorry.

    Fixes: b2e63555592f ("i2c: gpio: Convert to use descriptors")
    Reported-by: Simon Guinot
    Signed-off-by: Linus Walleij
    Reviewed-by: Paul Burton
    Cc: Ralf Baechle
    Cc: Wolfram Sang
    Cc: Simon Guinot
    Cc: linux-mips@linux-mips.org
    Cc: # 4.15+
    Patchwork: https://patchwork.linux-mips.org/patch/19387/
    Signed-off-by: James Hogan

    Linus Walleij
     

15 Nov, 2017

1 commit

  • Pull i2c updates from Wolfram Sang:
    "This contains two bigger than usual tree-wide changes this time. They
    all have proper acks, caused no merge conflicts in linux-next where
    they have been for a while. They are namely:

    - to-gpiod conversion of the i2c-gpio driver and its users (touching
    arch/* and drivers/mfd/*)

    - adding a sbs-manager based on I2C core updates to SMBus alerts
    (touching drivers/power/*)

    Other notable changes:

    - i2c_boardinfo can now carry a dev_name to be used when the device
    is created. This is because some devices in ACPI world need fixed
    names to find the regulators.

    - the designware driver got a long discussed overhaul of its PM
    handling. img-scb and davinci got PM support, too.

    - at24 driver has way better OF support. And it has a new maintainer.
    Thanks Bartosz for stepping up!

    The rest is regular driver updates and fixes"

    * 'i2c/for-4.15' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (55 commits)
    ARM: sa1100: simpad: Correct I2C GPIO offsets
    i2c: aspeed: Deassert reset in probe
    eeprom: at24: Add OF device ID table
    MAINTAINERS: new maintainer for AT24 driver
    i2c: nuc900: remove platform_data, too
    i2c: thunderx: Remove duplicate NULL check
    i2c: taos-evm: Remove duplicate NULL check
    i2c: Make i2c_unregister_device() NULL-aware
    i2c: xgene-slimpro: Support v2
    i2c: mpc: remove useless variable initialization
    i2c: omap: Trigger bus recovery in lockup case
    i2c: gpio: Add support for named gpios in DT
    dt-bindings: i2c: i2c-gpio: Add support for named gpios
    i2c: gpio: Local vars in probe
    i2c: gpio: Augment all boardfiles to use open drain
    i2c: gpio: Enforce open drain through gpiolib
    gpio: Make it possible for consumers to enforce open drain
    i2c: gpio: Convert to use descriptors
    power: supply: sbs-message: fix some code style issues
    power: supply: sbs-battery: remove unchecked return var
    ...

    Linus Torvalds
     

02 Nov, 2017

2 commits

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • …sw/linux-gpio into i2c/for-4.15

    Refactor i2c-gpio and its users to use gpiod. Done by GPIO maintainer
    LinusW.

    Wolfram Sang
     

30 Oct, 2017

2 commits

  • We now handle the open drain mode internally in the I2C GPIO
    driver, but we will get warnings from the gpiolib that we
    override the default mode of the line so it becomes open
    drain.

    We can fix all in-kernel users by simply passing the right
    flag along in the descriptor table, and we already touched
    all of these files in the series so let's just tidy it up.

    Cc: Steven Miao
    Cc: Ralf Baechle
    Acked-by: Olof Johansson
    Acked-by: Lee Jones
    Acked-by: Robert Jarzmik
    Acked-by: Ralf Baechle
    Acked-by: Wu, Aaron
    Acked-by: Arnd Bergmann
    Tested-by: Geert Uytterhoeven
    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • This converts the GPIO-based I2C-driver to using GPIO
    descriptors instead of the old global numberspace-based
    GPIO interface. We:

    - Convert the driver to unconditionally grab two GPIOs
    from the device by index 0 (SDA) and 1 (SCL) which
    will work fine with device tree and descriptor tables.
    The existing device trees will continue to work just
    like before, but without any roundtrip through the
    global numberspace.

    - Brutally convert all boardfiles still passing global
    GPIOs by registering descriptor tables associated with
    the devices instead so this driver does not need to keep
    supporting passing any GPIO numbers as platform data.

    There is no stepwise approach as elegant as this, I
    strongly prefer this big hammer over any antsteps for this
    conversion. This way the old GPIO numbers go away and
    NEVER COME BACK.

    Special conversion for the different boards utilizing
    I2C-GPIO:

    - EP93xx (arch/arm/mach-ep93xx): pretty straight forward as
    all boards were using the same two GPIO lines, just define
    these two in a lookup table for "i2c-gpio" and register
    these along with the device. None of them define any
    other platform data so just pass NULL as platform data.
    This platform selects GPIOLIB so all should be smooth.
    The pins appear on a gpiochip for bank "G" as pins 1 (SDA)
    and 0 (SCL).

    - IXP4 (arch/arm/mach-ixp4): descriptor tables have to
    be registered for each board separately. They all use
    "IXP4XX_GPIO_CHIP" so it is pretty straight forward.
    Most board define no other platform data than SCL/SDA
    so they can drop the #include of and
    assign NULL to platform data.

    The "goramo_mlr" (Goramo Multilink Router) board is a bit
    worrisome: it implements its own I2C bit-banging in the
    board file, and optionally registers an I2C serial port,
    but claims the same GPIO lines for itself in the board file.
    This is not going to work: there will be competition for the
    GPIO lines, so delete the optional extra I2C bus instead, no
    I2C devices are registered on it anyway, there are just hints
    that it may contain an EEPROM that may be accessed from
    userspace. This needs to be fixed up properly by the serial
    clock using I2C emulation so drop a note in the code.

    - KS8695 board acs5k (arch/arm/mach-ks8695/board-acs5.c)
    has some platform data in addition to the pins so it needs to
    be kept around sans GPIO lines. Its GPIO chip is named
    "KS8695" and the arch selects GPIOLIB.

    - PXA boards (arch/arm/mach-pxa/*) use some of the platform
    data so it needs to be preserved here. The viper board even
    registers two GPIO I2Cs. The gpiochip is named "gpio-pxa" and
    the arch selects GPIOLIB.

    - SA1100 Simpad (arch/arm/mach-sa1100/simpad.c) defines a GPIO
    I2C bus, and the arch selects GPIOLIB.

    - Blackfin boards (arch/blackfin/bf533 etc) for these I assume
    their I2C GPIOs refer to the local gpiochip defined in
    arch/blackfin/kernel/bfin_gpio.c names "BFIN-GPIO".
    The arch selects GPIOLIB. The boards get spiked with
    IF_ENABLED(I2C_GPIO) but that is a side effect of it
    being like that already (I would just have Kconfig select
    I2C_GPIO and get rid of them all.) I also delete any
    platform data set to 0 as it will get that value anyway
    from static declartions of platform data.

    - The MIPS selects GPIOLIB and the Alchemy machine is using
    two local GPIO chips, one of them has a GPIO I2C. We need
    to adjust the local offset from the global number space here.
    The ATH79 has a proper GPIO driver in drivers/gpio/gpio-ath79.c
    and AFAICT the chip is named "ath79-gpio" and the PB44
    PCF857x expander spawns from this on GPIO 1 and 0. The latter
    board only use the platform data to specify pins so it can be
    cut altogether after this.

    - The MFD Silicon Motion SM501 is a special case. It dynamically
    spawns an I2C bus off the MFD using sm501_create_subdev().
    We use an approach to dynamically create a machine descriptor
    table and attach this to the "SM501-LOW" or "SM501-HIGH"
    gpiochip. We use chip-local offsets to grab the right lines.
    We can get rid of two local static inline helpers as part
    of this refactoring.

    Cc: Steven Miao
    Cc: Ralf Baechle
    Cc: Guenter Roeck
    Cc: Ville Syrjälä
    Cc: Magnus Damm
    Cc: Ben Dooks
    Cc: Heiko Schocher
    Acked-by: Wu, Aaron
    Acked-by: Olof Johansson
    Acked-by: Lee Jones
    Acked-by: Ralf Baechle
    Tested-by: Geert Uytterhoeven
    Signed-off-by: Linus Walleij

    Linus Walleij
     

20 Sep, 2017

1 commit

  • 04c81c7293df ("MIPS: PCI: Replace pci_fixup_irqs() call with host bridge
    IRQ mapping hooks") moved the PCI IRQ fixup to the new host bridge
    map/swizzle_irq() hooks mechanism. Those hooks can also be called after
    boot, when all the __init/__initdata/__initconst sections have been freed.
    Therefore, functions called by them (and the data they refer to) must not
    be marked as __init/__initdata/__initconst lest compilation trigger section
    mismatch warnings.

    Fix all the board files map_irq() hooks by simply removing the respective
    __init/__initdata/__initconst section markers and by adding another
    persistent hook IRQ map for the txx9 board files.

    Fixes: 04c81c7293df ("MIPS: PCI: Replace pci_fixup_irqs() call with host bridge IRQ mapping hooks")
    Signed-off-by: Lorenzo Pieralisi
    Signed-off-by: Bjorn Helgaas
    Reviewed-by: Arnd Bergmann
    Cc: Ralf Baechle
    Cc: Steve French

    Lorenzo Pieralisi
     

29 Aug, 2017

1 commit

  • Now that we have a custom printf format specifier, convert users of
    full_name to use %pOF instead. This is preparation to remove storing
    of the full path string for each node.

    Signed-off-by: Rob Herring
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/16783/
    Signed-off-by: Ralf Baechle

    Rob Herring
     

23 May, 2017

1 commit


14 Feb, 2017

1 commit

  • Historically a lot of these existed because we did not have
    a distinction between what was modular code and what was providing
    support to modules via EXPORT_SYMBOL and friends. That changed
    when we forked out support for the latter into the export.h file.

    This means we should be able to reduce the usage of module.h
    in code that is obj-y Makefile or bool Kconfig. In the case of
    some code where it is modular, we can extend that to also include
    files that are building basic support functionality but not related
    to loading or registering the final module; such files also have
    no need whatsoever for module.h

    The advantage in removing such instances is that module.h itself
    sources about 15 other headers; adding significantly to what we feed
    cpp, and it can obscure what headers we are effectively using.

    Since module.h might have been the implicit source for init.h
    (for __init) and for export.h (for EXPORT_SYMBOL) we consider each
    instance for the presence of either and replace/add as needed.

    Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.

    Build coverage of all the mips defconfigs revealed the module.h
    header was masking a couple of implicit include instances, so
    we add the appropriate headers there.

    Signed-off-by: Paul Gortmaker
    Cc: David Daney
    Cc: John Crispin
    Cc: Ralf Baechle
    Cc: "Steven J. Hill"
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/15131/
    [james.hogan@imgtec.com: Preserve sort order where it already exists]
    Signed-off-by: James Hogan

    Paul Gortmaker
     

25 Jan, 2017

1 commit

  • Free memory mapping, if ath79_clocks_init_dt_ng is not successful.

    Signed-off-by: Arvind Yadav
    Fixes: 3bdf1071ba7d ("MIPS: ath79: update devicetree clock support for AR9132")
    Cc: antonynpavlov@gmail.com
    Cc: albeu@free.fr
    Cc: hackpascal@gmail.com
    Cc: sboyd@codeaurora.org
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/14915/
    Signed-off-by: Ralf Baechle

    Arvind Yadav