Merge tag 'ixp4xx-for-armsoc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw...
authorOlof Johansson <olof@lixom.net>
Mon, 29 Apr 2019 06:43:07 +0000 (23:43 -0700)
committerOlof Johansson <olof@lixom.net>
Mon, 29 Apr 2019 06:43:07 +0000 (23:43 -0700)
This modernizes the IXP4xx platform and adds initial Device Tree
Support. We migrate to MULTI_IRQ_HANDLER, bumps the IRQs to
offset 16, converts to SPARSE_IRQ, then we add proper subsystem
drivers in each subsystem for irqchip, GPIO and clocksource and
switch over to using these new drivers.

Next we modernize the NPE and QMGR drivers and push them down
into drivers/soc.

This has been tested on the IXP4xx NSLU2 and the Gateworks
GW2358-4.

* tag 'ixp4xx-for-armsoc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik: (31 commits)
  ARM: dts: Add queue manager and NPE to the IXP4xx DTSI
  soc: ixp4xx: qmgr: Add DT probe code
  soc: ixp4xx: qmgr: Add DT bindings for IXP4xx qmgr
  soc: ixp4xx: npe: Add DT probe code
  soc: ixp4xx: Add DT bindings for IXP4xx NPE
  soc: ixp4xx: qmgr: Pass resources
  soc: ixp4xx: Remove unused functions
  soc: ixp4xx: Uninline several functions
  soc: ixp4xx: npe: Pass addresses as resources
  ARM: ixp4xx: Turn the QMGR into a platform device
  ARM: ixp4xx: Turn the NPE into a platform device
  ARM: ixp4xx: Move IXP4xx QMGR and NPE headers
  ARM: ixp4xx: Move NPE and QMGR to drivers/soc
  ARM: dts: Add some initial IXP4xx device trees
  ARM: ixp4xx: Add device tree boot support
  ARM: ixp4xx: Add DT bindings
  gpio: ixp4xx: Add OF probing support
  gpio: ixp4xx: Add DT bindings
  clocksource/drivers/ixp4xx: Add OF initialization support
  clocksource/drivers/ixp4xx: Add DT bindings
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
1  2 
MAINTAINERS
arch/arm/Kconfig

diff --combined MAINTAINERS
index c0e3287e097db447e8243bac12dc962e7d5917d0,fb5911d46c2d1b92862539af45fc718771f81eb0..e827333d5404809176c0989826cdaf55d302d414
@@@ -1685,11 -1685,21 +1685,21 @@@ L:   linux-arm-kernel@lists.infradead.or
  S:    Maintained
  
  ARM/INTEL IXP4XX ARM ARCHITECTURE
+ M:    Linus Walleij <linusw@kernel.org>
  M:    Imre Kaloz <kaloz@openwrt.org>
  M:    Krzysztof Halasa <khalasa@piap.pl>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
+ F:    Documentation/devicetree/bindings/arm/intel-ixp4xx.yaml
+ F:    Documentation/devicetree/bindings/gpio/intel,ixp4xx-gpio.txt
+ F:    Documentation/devicetree/bindings/interrupt-controller/intel,ixp4xx-interrupt.yaml
+ F:    Documentation/devicetree/bindings/timer/intel,ixp4xx-timer.yaml
  F:    arch/arm/mach-ixp4xx/
+ F:    drivers/clocksource/timer-ixp4xx.c
+ F:    drivers/gpio/gpio-ixp4xx.c
+ F:    drivers/irqchip/irq-ixp4xx.c
+ F:    include/linux/irqchip/irq-ixp4xx.h
+ F:    include/linux/platform_data/timer-ixp4xx.h
  
  ARM/INTEL RESEARCH IMOTE/STARGATE 2 MACHINE SUPPORT
  M:    Jonathan Cameron <jic23@cam.ac.uk>
@@@ -2189,7 -2199,6 +2199,7 @@@ F:      arch/arm/mach-socfpga
  F:    arch/arm/boot/dts/socfpga*
  F:    arch/arm/configs/socfpga_defconfig
  F:    arch/arm64/boot/dts/altera/
 +F:    arch/arm64/boot/dts/intel/
  W:    http://www.rocketboards.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux.git
  
@@@ -2357,7 -2366,7 +2367,7 @@@ F:      arch/arm/mm/cache-uniphier.
  F:    arch/arm64/boot/dts/socionext/uniphier*
  F:    drivers/bus/uniphier-system-bus.c
  F:    drivers/clk/uniphier/
 -F:    drivers/dmaengine/uniphier-mdmac.c
 +F:    drivers/dma/uniphier-mdmac.c
  F:    drivers/gpio/gpio-uniphier.c
  F:    drivers/i2c/busses/i2c-uniphier*
  F:    drivers/irqchip/irq-uniphier-aidet.c
@@@ -6409,6 -6418,7 +6419,6 @@@ L:      linux-kernel@vger.kernel.or
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking/core
  S:    Maintained
  F:    kernel/futex.c
 -F:    kernel/futex_compat.c
  F:    include/asm-generic/futex.h
  F:    include/linux/futex.h
  F:    include/uapi/linux/futex.h
@@@ -7876,10 -7886,10 +7886,10 @@@ F:   Documentation/media/v4l-drivers/ipu3
  INTEL IXP4XX QMGR, NPE, ETHERNET and HSS SUPPORT
  M:    Krzysztof Halasa <khalasa@piap.pl>
  S:    Maintained
- F:    arch/arm/mach-ixp4xx/include/mach/qmgr.h
- F:    arch/arm/mach-ixp4xx/include/mach/npe.h
- F:    arch/arm/mach-ixp4xx/ixp4xx_qmgr.c
- F:    arch/arm/mach-ixp4xx/ixp4xx_npe.c
+ F:    include/linux/soc/ixp4xx/qmgr.h
+ F:    include/linux/soc/ixp4xx/npe.h
+ F:    drivers/soc/ixp4xx/ixp4xx-qmgr.c
+ F:    drivers/soc/ixp4xx/ixp4xx-npe.c
  F:    drivers/net/ethernet/xscale/ixp4xx_eth.c
  F:    drivers/net/wan/ixp4xx_hss.c
  
@@@ -8096,16 -8106,6 +8106,16 @@@ F:    include/linux/iommu.
  F:    include/linux/of_iommu.h
  F:    include/linux/iova.h
  
 +IO_URING
 +M:    Jens Axboe <axboe@kernel.dk>
 +L:    linux-block@vger.kernel.org
 +L:    linux-fsdevel@vger.kernel.org
 +T:    git git://git.kernel.dk/linux-block
 +T:    git git://git.kernel.dk/liburing
 +S:    Maintained
 +F:    fs/io_uring.c
 +F:    include/uapi/linux/io_uring.h
 +
  IP MASQUERADING
  M:    Juanjo Ciarlante <jjciarla@raiz.uncu.edu.ar>
  S:    Maintained
diff --combined arch/arm/Kconfig
index 61d949e9233f30332dd725107a42429414fa62cd,c614526a54ee0f5af61c1bf45c86e07427a55d46..29bb2aca02d4e989bcf1e566dfba760fdf48276c
@@@ -429,12 -429,15 +429,15 @@@ config ARCH_IXP4X
        depends on MMU
        select ARCH_HAS_DMA_SET_COHERENT_MASK
        select ARCH_SUPPORTS_BIG_ENDIAN
-       select CLKSRC_MMIO
        select CPU_XSCALE
        select DMABOUNCE if PCI
        select GENERIC_CLOCKEVENTS
+       select GENERIC_IRQ_MULTI_HANDLER
+       select GPIO_IXP4XX
        select GPIOLIB
        select HAVE_PCI
+       select IXP4XX_IRQ
+       select IXP4XX_TIMER
        select NEED_MACH_IO_H
        select USB_EHCI_BIG_ENDIAN_DESC
        select USB_EHCI_BIG_ENDIAN_MMIO
@@@ -596,7 -599,6 +599,7 @@@ config ARCH_DAVINC
        select HAVE_IDE
        select PM_GENERIC_DOMAINS if PM
        select PM_GENERIC_DOMAINS_OF if PM && OF
 +      select REGMAP_MMIO
        select RESET_CONTROLLER
        select SPARSE_IRQ
        select USE_OF
@@@ -900,6 -902,8 +903,6 @@@ config PLAT_PX
  config PLAT_VERSATILE
        bool
  
 -source "arch/arm/firmware/Kconfig"
 -
  source "arch/arm/mm/Kconfig"
  
  config IWMMXT