28 Jul, 2020
1 commit
-
Since commit 3a77e0d75eed ("MIPS: ath79: drop machfiles"), this header
is not used anymore.Signed-off-by: Paul Cercueil
Signed-off-by: Thomas Bogendoerfer
13 May, 2020
1 commit
-
Instead of including all Platform files, we simply include the
needed one and avoid clashes with makefile variables.Signed-off-by: Thomas Bogendoerfer
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
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
06 Jan, 2020
1 commit
-
ioremap has provided non-cached semantics by default since the Linux 2.6
days, so remove the additional ioremap_nocache interface.Signed-off-by: Christoph Hellwig
Acked-by: Arnd Bergmann
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
...
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
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 foundationthis 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
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
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
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 -
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 -
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 -
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 -
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 -
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 -
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 -
It can be autodetected for many SoCs using the strapping options.
If the clock is specified in DT, the autodetected value is ignoredSigned-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 -
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 -
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 -
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
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
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
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
...
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 -
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 -
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
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+
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
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
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
...
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 -
…sw/linux-gpio into i2c/for-4.15
Refactor i2c-gpio and its users to use gpiod. Done by GPIO maintainer
LinusW.
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 -
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
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
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
23 May, 2017
1 commit
-
include/linux/i2c is not for client devices. Move the header file to a
more appropriate location.Signed-off-by: Wolfram Sang
Signed-off-by: Linus Walleij
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.hThe 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
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