diff mbox

[RFC,1/4] ARM: S3C24XX: move s3c24xx-irq to drivers/irqchip

Message ID 201211121447.49977.heiko@sntech.de (mailing list archive)
State New, archived
Headers show

Commit Message

Heiko Stuebner Nov. 12, 2012, 1:47 p.m. UTC
Removes another part from plat-s3c24xx and also enables further
improvements happening in the correct location.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
---
 arch/arm/Kconfig                                   |    1 +
 arch/arm/plat-s3c24xx/Makefile                     |    1 -
 drivers/irqchip/Kconfig                            |    3 +++
 drivers/irqchip/Makefile                           |    1 +
 .../irq.c => drivers/irqchip/irq-s3c24xx.c         |    0
 5 files changed, 5 insertions(+), 1 deletions(-)
 rename arch/arm/plat-s3c24xx/irq.c => drivers/irqchip/irq-s3c24xx.c (100%)

diff --git a/arch/arm/plat-s3c24xx/irq.c b/drivers/irqchip/irq-s3c24xx.c
similarity index 100%
rename from arch/arm/plat-s3c24xx/irq.c
rename to drivers/irqchip/irq-s3c24xx.c

Comments

Stephen Warren Nov. 12, 2012, 5:05 p.m. UTC | #1
On 11/12/2012 06:47 AM, Heiko Stübner wrote:
> Removes another part from plat-s3c24xx and also enables further
> improvements happening in the correct location.
> 
> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
> ---
>  arch/arm/Kconfig                                   |    1 +
>  arch/arm/plat-s3c24xx/Makefile                     |    1 -
>  drivers/irqchip/Kconfig                            |    3 +++
>  drivers/irqchip/Makefile                           |    1 +
>  .../irq.c => drivers/irqchip/irq-s3c24xx.c         |    0
>  5 files changed, 5 insertions(+), 1 deletions(-)
>  rename arch/arm/plat-s3c24xx/irq.c => drivers/irqchip/irq-s3c24xx.c (100%)

Presumably there's a header file somewhere that defines the interface to
irq-s3c24xx.c that other code in arch/arm/plat-s3c24xx is using to
initialize it. That header should be moved somewhere public (i.e.
outside {mach,plat}-*/include/{mach,plat}). However, you then end up
with a header file per IRQ driver in that public location. So, Thomas
Petazzoni started working on a solution for that:

> http://lists.arm.linux.org.uk/lurker/message/20121027.164514.11eb86db.en.html
Heiko Stuebner Nov. 12, 2012, 6:15 p.m. UTC | #2
Am Montag, 12. November 2012, 18:05:39 schrieb Stephen Warren:
> On 11/12/2012 06:47 AM, Heiko Stübner wrote:
> > Removes another part from plat-s3c24xx and also enables further
> > improvements happening in the correct location.
> > 
> > Signed-off-by: Heiko Stuebner <heiko@sntech.de>
> > ---
> > 
> >  arch/arm/Kconfig                                   |    1 +
> >  arch/arm/plat-s3c24xx/Makefile                     |    1 -
> >  drivers/irqchip/Kconfig                            |    3 +++
> >  drivers/irqchip/Makefile                           |    1 +
> >  .../irq.c => drivers/irqchip/irq-s3c24xx.c         |    0
> >  5 files changed, 5 insertions(+), 1 deletions(-)
> >  rename arch/arm/plat-s3c24xx/irq.c => drivers/irqchip/irq-s3c24xx.c
> >  (100%)
> 
> Presumably there's a header file somewhere that defines the interface to
> irq-s3c24xx.c that other code in arch/arm/plat-s3c24xx is using to
> initialize it. That header should be moved somewhere public (i.e.
> outside {mach,plat}-*/include/{mach,plat}). However, you then end up
> with a header file per IRQ driver in that public location. So, Thomas
> 
> Petazzoni started working on a solution for that:
> > http://lists.arm.linux.org.uk/lurker/message/20121027.164514.11eb86db.en.
> > html

cool, thanks for the pointer :-) .

For the headers, yes they are present and still in mach/plat. My intention was 
to first clean it up and then move the remaing necessary header.

I'm not sure what is the policy for adding stuff to drivers/irqchip (dt-
only?), because _all_ s3c24xx subtypes using devicetree seems very very far in 
the future, if at all.

So when thinking a bit more about it, it might be better to keep the irq code 
in arch/arm for the time being?

Because non-dt init code will probably be necessary for a lot more time.


Heiko
diff mbox

Patch

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 48eea16..7db6b91 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -742,6 +742,7 @@  config ARCH_S3C24XX
 	select HAVE_S3C_RTC if RTC_CLASS
 	select NEED_MACH_GPIO_H
 	select NEED_MACH_IO_H
+	select S3C24XX_IRQ
 	help
 	  Samsung S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443
 	  and S3C2450 SoCs based systems, such as the Simtec Electronics BAST
diff --git a/arch/arm/plat-s3c24xx/Makefile b/arch/arm/plat-s3c24xx/Makefile
index 9f60549c..6472416 100644
--- a/arch/arm/plat-s3c24xx/Makefile
+++ b/arch/arm/plat-s3c24xx/Makefile
@@ -12,7 +12,6 @@  obj-				:=
 
 # Core files
 
-obj-y				+= irq.o
 obj-$(CONFIG_S3C24XX_DCLK)	+= clock-dclk.o
 
 obj-$(CONFIG_CPU_FREQ_S3C24XX)	+= cpu-freq.o
diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig
index 62ca575..860d45d 100644
--- a/drivers/irqchip/Kconfig
+++ b/drivers/irqchip/Kconfig
@@ -1,3 +1,6 @@ 
+config S3C24XX_IRQ
+	bool
+
 config VERSATILE_FPGA_IRQ
 	bool
 	select IRQ_DOMAIN
diff --git a/drivers/irqchip/Makefile b/drivers/irqchip/Makefile
index e2e6eb5..5c20f85 100644
--- a/drivers/irqchip/Makefile
+++ b/drivers/irqchip/Makefile
@@ -1,2 +1,3 @@ 
 obj-$(CONFIG_ARCH_BCM2835) += irq-bcm2835.o
+obj-$(CONFIG_S3C24XX_IRQ) += irq-s3c24xx.o
 obj-$(CONFIG_VERSATILE_FPGA_IRQ) += irq-versatile-fpga.o