[PATCH 00/10] ARM: S3C24XX: rework irq handling for a later dt usage
Heiko Stübner
heiko at sntech.de
Sat Nov 17 19:51:00 EST 2012
All S3C24XX arches share the same interrupt registers and basic handling
principles but the individual interrupts differ quite a lot between all
the arches.
This series therefore tries to unify this a bit by abstracting the irq
handling and enabling the arches to simply provide a structure describing
its individual interrupts.
With this declarative approach it should also be (hopefully) easy to
move this to devicetree later.
For the initial transformation (in patch 1) I gave up on trying to do
this in individual steps, so the patch might be a bit bumpy to read,
but the new irq code does provide the exactly same interrupts and
handlers as the old code. This also means that the unconverted arches
shouldn't feel any difference at all.
I've only included the s3c2416 and s3c2443 interrupts for now, as the
s3c2416 is my main development platform and the s3c2443 is so very
similar. But the other arches use the same mechanics so conversion
should be quite easy later.
As it seems to be the policy for drivers/irqchip that drivers there
should not contain platform-hooks or pollute the namespace with custom
init functons, the irq code stays in plat-s3c24xx for now.
Heiko Stuebner (10):
ARM: S3C24XX: transform irq handling into a declarative form
ARM: S3C24XX: move irq-pm code into main irq file
ARM: S3C24XX: cleanup irq-pm integration
ARM: S3C24XX: move s3c2416 irq init to common irq code
ARM: S3C24XX: modify s3c2416 irq init to initialize all irqs
ARM: S3C24XX: assimilate s3c2416 subirqs into new structure
ARM: S3C24XX: assimilate second s3c2416 interrupt into new structure
ARM: S3C24XX: move s3c2443 irq code to irq.c
ARM: S3C24XX: modify s3c2443 irq init to initialize all irqs
ARM: S3C24XX: assimilate s3c2443 subirqs into new structure
arch/arm/mach-s3c24xx/Makefile | 6 +-
arch/arm/mach-s3c24xx/common.h | 2 +
arch/arm/mach-s3c24xx/irq-pm.c | 95 ---
arch/arm/mach-s3c24xx/irq-s3c2416.c | 348 --------
arch/arm/mach-s3c24xx/irq-s3c2443.c | 281 -------
arch/arm/mach-s3c24xx/mach-smdk2416.c | 2 +-
arch/arm/mach-s3c24xx/mach-smdk2443.c | 2 +-
arch/arm/mach-s3c24xx/s3c2410.c | 4 +-
arch/arm/mach-s3c24xx/s3c2412.c | 4 +-
arch/arm/mach-s3c24xx/s3c2416.c | 4 +-
arch/arm/mach-s3c24xx/s3c2440.c | 4 +-
arch/arm/mach-s3c24xx/s3c2442.c | 4 +-
arch/arm/plat-s3c24xx/Kconfig | 1 +
arch/arm/plat-s3c24xx/irq.c | 1140 ++++++++++++++++----------
arch/arm/plat-samsung/include/plat/pm.h | 6 -
arch/arm/plat-samsung/include/plat/s3c2416.h | 1 +
arch/arm/plat-samsung/include/plat/s3c2443.h | 2 +
17 files changed, 737 insertions(+), 1169 deletions(-)
delete mode 100644 arch/arm/mach-s3c24xx/irq-pm.c
delete mode 100644 arch/arm/mach-s3c24xx/irq-s3c2416.c
delete mode 100644 arch/arm/mach-s3c24xx/irq-s3c2443.c
--
1.7.2.3
More information about the linux-arm-kernel
mailing list