* [GIT PULL] IXP4xx modernization, step 1
@ 2019-04-19 20:01 Linus Walleij
2019-04-23 14:06 ` Linus Walleij
0 siblings, 1 reply; 3+ messages in thread
From: Linus Walleij @ 2019-04-19 20:01 UTC (permalink / raw
To: arm-soc; +Cc: Imre Kaloz, Krzysztof Halasa, Daniel Lezcano, Linux ARM
Hi Arm SoC folks!
Here is the big pull request for the first step of the much overdue
IXP4xx modernization. As explained earlier this platform has many
active users and specific industrial properties that make it hard
to replace, and thus lives on, and we need to maintain it going
forward.
I can't really wait any longer for more ACKs, and just conclude
noone has any serious objections, certainly not anything I can't fix
up in-tree if need be.
This really needs to go into linux-next now and into v5.2, as all
later modernizations need to have this base to make it possible
to modernize in a per-subsystem manner going forward.
The idea is of course to aim for complete device tree migration
and deletion of board file code and callbacks eventually. Right
now the device tree boot is pretty orthogonal from the board
file boot, once we get PCI sorted we can start deleting some
board files that need little more than what we have here and
PCI.
Please pull it in for v5.2.
Yours,
Linus Walleij
The following changes since commit 9e98c678c2d6ae3a17cb2de55d17f69dddaa231b:
Linux 5.1-rc1 (2019-03-17 14:22:26 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik.git
tags/ixp4xx-for-armsoc
for you to fetch changes up to 4e3bfcd70f9f3559c8591a1e29140300821eb5b0:
ARM: dts: Add queue manager and NPE to the IXP4xx DTSI (2019-04-19
20:40:16 +0200)
----------------------------------------------------------------
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.
----------------------------------------------------------------
Linus Walleij (31):
ARM: ixp4xx: Add myself as maintainer
ARM: ixp4xx: Convert to MULTI_IRQ_HANDLER
ARM: ixp4xx: Pass IRQ resource to beeper
ARM: ixp4xx: Convert to SPARSE_IRQ
irqchip: Add driver for IXP4xx
gpio: ixp4xx: Add driver for the IXP4xx GPIO
ARM: ixp4xx: Switch to use new IRQ+GPIO drivers
clocksource/drivers/ixp4xx: Add driver
ARM: ixp4xx: Switch to use new timer driver
irqchip: ixp4xx: Add DT bindings
irqchip: ixp4xx: Add OF initialization support
clocksource/drivers/ixp4xx: Add DT bindings
clocksource/drivers/ixp4xx: Add OF initialization support
gpio: ixp4xx: Add DT bindings
gpio: ixp4xx: Add OF probing support
ARM: ixp4xx: Add DT bindings
ARM: ixp4xx: Add device tree boot support
ARM: dts: Add some initial IXP4xx device trees
ARM: ixp4xx: Move NPE and QMGR to drivers/soc
ARM: ixp4xx: Move IXP4xx QMGR and NPE headers
ARM: ixp4xx: Turn the NPE into a platform device
ARM: ixp4xx: Turn the QMGR into a platform device
soc: ixp4xx: npe: Pass addresses as resources
soc: ixp4xx: Uninline several functions
soc: ixp4xx: Remove unused functions
soc: ixp4xx: qmgr: Pass resources
soc: ixp4xx: Add DT bindings for IXP4xx NPE
soc: ixp4xx: npe: Add DT probe code
soc: ixp4xx: qmgr: Add DT bindings for IXP4xx qmgr
soc: ixp4xx: qmgr: Add DT probe code
ARM: dts: Add queue manager and NPE to the IXP4xx DTSI
.../devicetree/bindings/arm/intel-ixp4xx.yaml | 22 +
.../intel,ixp4xx-network-processing-engine.yaml | 44 ++
.../intel,ixp4xx-interrupt.yaml | 54 +++
.../bindings/misc/intel,ixp4xx-queue-manager.yaml | 49 +++
.../bindings/timer/intel,ixp4xx-timer.yaml | 42 ++
MAINTAINERS | 18 +-
arch/arm/Kconfig | 5 +-
arch/arm/boot/dts/Makefile | 3 +
arch/arm/boot/dts/intel-ixp42x-linksys-nslu2.dts | 109 +++++
arch/arm/boot/dts/intel-ixp42x.dtsi | 25 ++
.../arm/boot/dts/intel-ixp43x-gateworks-gw2358.dts | 94 ++++
arch/arm/boot/dts/intel-ixp43x.dtsi | 15 +
arch/arm/boot/dts/intel-ixp45x-ixp46x.dtsi | 34 ++
arch/arm/boot/dts/intel-ixp4xx.dtsi | 69 +++
arch/arm/mach-ixp4xx/Kconfig | 27 +-
arch/arm/mach-ixp4xx/Makefile | 5 +-
arch/arm/mach-ixp4xx/avila-pci.c | 2 +
arch/arm/mach-ixp4xx/avila-setup.c | 2 +
arch/arm/mach-ixp4xx/common.c | 484 ++++-----------------
arch/arm/mach-ixp4xx/coyote-pci.c | 2 +
arch/arm/mach-ixp4xx/coyote-setup.c | 2 +
arch/arm/mach-ixp4xx/dsmg600-pci.c | 2 +
arch/arm/mach-ixp4xx/dsmg600-setup.c | 5 +-
arch/arm/mach-ixp4xx/fsg-pci.c | 2 +
arch/arm/mach-ixp4xx/fsg-setup.c | 2 +
arch/arm/mach-ixp4xx/gateway7001-pci.c | 2 +
arch/arm/mach-ixp4xx/gateway7001-setup.c | 2 +
arch/arm/mach-ixp4xx/gtwx5715-pci.c | 2 +
arch/arm/mach-ixp4xx/gtwx5715-setup.c | 2 +
arch/arm/mach-ixp4xx/include/mach/entry-macro.S | 41 --
arch/arm/mach-ixp4xx/include/mach/irqs.h | 75 ----
arch/arm/mach-ixp4xx/include/mach/ixp4xx-regs.h | 94 ----
arch/arm/mach-ixp4xx/include/mach/qmgr.h | 204 ---------
arch/arm/mach-ixp4xx/irqs.h | 68 +++
arch/arm/mach-ixp4xx/ixdp425-pci.c | 2 +
arch/arm/mach-ixp4xx/ixdp425-setup.c | 2 +
arch/arm/mach-ixp4xx/ixdpg425-pci.c | 2 +
arch/arm/mach-ixp4xx/ixp4xx-of.c | 60 +++
arch/arm/mach-ixp4xx/nas100d-pci.c | 2 +
arch/arm/mach-ixp4xx/nas100d-setup.c | 5 +-
arch/arm/mach-ixp4xx/nslu2-pci.c | 2 +
arch/arm/mach-ixp4xx/nslu2-setup.c | 12 +-
arch/arm/mach-ixp4xx/wg302v2-pci.c | 2 +
arch/arm/mach-ixp4xx/wg302v2-setup.c | 2 +
drivers/clocksource/Kconfig | 7 +
drivers/clocksource/Makefile | 1 +
drivers/clocksource/timer-ixp4xx.c | 284 ++++++++++++
drivers/crypto/ixp4xx_crypto.c | 4 +-
drivers/gpio/Kconfig | 13 +
drivers/gpio/Makefile | 1 +
drivers/gpio/gpio-ixp4xx.c | 474 ++++++++++++++++++++
drivers/input/misc/ixp4xx-beeper.c | 20 +-
drivers/irqchip/Kconfig | 6 +
drivers/irqchip/Makefile | 1 +
drivers/irqchip/irq-ixp4xx.c | 403 +++++++++++++++++
drivers/net/ethernet/xscale/ixp4xx_eth.c | 14 +-
drivers/net/wan/ixp4xx_hss.c | 4 +-
drivers/soc/Kconfig | 1 +
drivers/soc/Makefile | 1 +
drivers/soc/ixp4xx/Kconfig | 16 +
drivers/soc/ixp4xx/Makefile | 2 +
.../soc/ixp4xx/ixp4xx-npe.c | 66 ++-
.../soc/ixp4xx/ixp4xx-qmgr.c | 186 ++++++--
drivers/watchdog/ixp4xx_wdt.c | 9 +
include/linux/irqchip/irq-ixp4xx.h | 12 +
include/linux/platform_data/timer-ixp4xx.h | 11 +
.../mach => include/linux/soc/ixp4xx}/npe.h | 2 -
include/linux/soc/ixp4xx/qmgr.h | 91 ++++
68 files changed, 2415 insertions(+), 913 deletions(-)
create mode 100644 Documentation/devicetree/bindings/arm/intel-ixp4xx.yaml
create mode 100644
Documentation/devicetree/bindings/firmware/intel,ixp4xx-network-processing-engine.yaml
create mode 100644
Documentation/devicetree/bindings/interrupt-controller/intel,ixp4xx-interrupt.yaml
create mode 100644
Documentation/devicetree/bindings/misc/intel,ixp4xx-queue-manager.yaml
create mode 100644
Documentation/devicetree/bindings/timer/intel,ixp4xx-timer.yaml
create mode 100644 arch/arm/boot/dts/intel-ixp42x-linksys-nslu2.dts
create mode 100644 arch/arm/boot/dts/intel-ixp42x.dtsi
create mode 100644 arch/arm/boot/dts/intel-ixp43x-gateworks-gw2358.dts
create mode 100644 arch/arm/boot/dts/intel-ixp43x.dtsi
create mode 100644 arch/arm/boot/dts/intel-ixp45x-ixp46x.dtsi
create mode 100644 arch/arm/boot/dts/intel-ixp4xx.dtsi
delete mode 100644 arch/arm/mach-ixp4xx/include/mach/entry-macro.S
delete mode 100644 arch/arm/mach-ixp4xx/include/mach/irqs.h
delete mode 100644 arch/arm/mach-ixp4xx/include/mach/qmgr.h
create mode 100644 arch/arm/mach-ixp4xx/irqs.h
create mode 100644 arch/arm/mach-ixp4xx/ixp4xx-of.c
create mode 100644 drivers/clocksource/timer-ixp4xx.c
create mode 100644 drivers/gpio/gpio-ixp4xx.c
create mode 100644 drivers/irqchip/irq-ixp4xx.c
create mode 100644 drivers/soc/ixp4xx/Kconfig
create mode 100644 drivers/soc/ixp4xx/Makefile
rename arch/arm/mach-ixp4xx/ixp4xx_npe.c =>
drivers/soc/ixp4xx/ixp4xx-npe.c (94%)
rename arch/arm/mach-ixp4xx/ixp4xx_qmgr.c =>
drivers/soc/ixp4xx/ixp4xx-qmgr.c (66%)
create mode 100644 include/linux/irqchip/irq-ixp4xx.h
create mode 100644 include/linux/platform_data/timer-ixp4xx.h
rename {arch/arm/mach-ixp4xx/include/mach =>
include/linux/soc/ixp4xx}/npe.h (95%)
create mode 100644 include/linux/soc/ixp4xx/qmgr.h
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [GIT PULL] IXP4xx modernization, step 1
2019-04-19 20:01 [GIT PULL] IXP4xx modernization, step 1 Linus Walleij
@ 2019-04-23 14:06 ` Linus Walleij
2019-04-29 6:43 ` Olof Johansson
0 siblings, 1 reply; 3+ messages in thread
From: Linus Walleij @ 2019-04-23 14:06 UTC (permalink / raw
To: arm-soc; +Cc: Imre Kaloz, Krzysztof Halasa, Daniel Lezcano, Linux ARM
Hi ARM SoC folks,
the build robot came back with a minor snag after 4 days, so I
fixed the offending commit and pushed an identical tag
with this fixed. (No COMPILE_TEST on the GPIO driver because
it depends on the irqchip that is IXP4xx-specific.)
On Fri, Apr 19, 2019 at 10:01 PM Linus Walleij <linus.walleij@linaro.org> wrote:
> git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik.git
> tags/ixp4xx-for-armsoc
>
> for you to fetch changes up to 4e3bfcd70f9f3559c8591a1e29140300821eb5b0:
This changes to:
for you to fetch changes up to 1fae0ad1e2032a603f93d4ad752bfa6fe7c9b887:
ARM: dts: Add queue manager and NPE to the IXP4xx DTSI (2019-04-23
16:02:16 +0200)
It still has my signature and all.
Yours,
Linus Walleij
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [GIT PULL] IXP4xx modernization, step 1
2019-04-23 14:06 ` Linus Walleij
@ 2019-04-29 6:43 ` Olof Johansson
0 siblings, 0 replies; 3+ messages in thread
From: Olof Johansson @ 2019-04-29 6:43 UTC (permalink / raw
To: Linus Walleij
Cc: Imre Kaloz, arm-soc, Krzysztof Halasa, Daniel Lezcano, Linux ARM
On Tue, Apr 23, 2019 at 04:06:54PM +0200, Linus Walleij wrote:
> Hi ARM SoC folks,
>
> the build robot came back with a minor snag after 4 days, so I
> fixed the offending commit and pushed an identical tag
> with this fixed. (No COMPILE_TEST on the GPIO driver because
> it depends on the irqchip that is IXP4xx-specific.)
>
> On Fri, Apr 19, 2019 at 10:01 PM Linus Walleij <linus.walleij@linaro.org> wrote:
>
> > git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik.git
> > tags/ixp4xx-for-armsoc
> >
> > for you to fetch changes up to 4e3bfcd70f9f3559c8591a1e29140300821eb5b0:
>
> This changes to:
>
> for you to fetch changes up to 1fae0ad1e2032a603f93d4ad752bfa6fe7c9b887:
>
> ARM: dts: Add queue manager and NPE to the IXP4xx DTSI (2019-04-23
> 16:02:16 +0200)
>
> It still has my signature and all.
Merged now. Thanks!
-Olof
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-04-29 7:02 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-04-19 20:01 [GIT PULL] IXP4xx modernization, step 1 Linus Walleij
2019-04-23 14:06 ` Linus Walleij
2019-04-29 6:43 ` Olof Johansson
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.