Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: plat-versatile: move FPGA irq driver to drivers/irqchip

This moves the Versatile FPGA interrupt controller driver, used in
the Integrator/AP, Integrator/CP and some Versatile boards, out
of arch/arm/plat-versatile and down to drivers/irqchip where we
have consensus that such drivers belong. The header file is
consequently moved to <linux/platform_data/irq-versatile-fpga.h>.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

+16 -19
+2 -2
arch/arm/Kconfig
··· 284 284 select MULTI_IRQ_HANDLER 285 285 select NEED_MACH_MEMORY_H 286 286 select PLAT_VERSATILE 287 - select PLAT_VERSATILE_FPGA_IRQ 288 287 select SPARSE_IRQ 288 + select VERSATILE_FPGA_IRQ 289 289 help 290 290 Support for ARM's Integrator platform. 291 291 ··· 318 318 select PLAT_VERSATILE 319 319 select PLAT_VERSATILE_CLCD 320 320 select PLAT_VERSATILE_CLOCK 321 - select PLAT_VERSATILE_FPGA_IRQ 321 + select VERSATILE_FPGA_IRQ 322 322 help 323 323 This enables support for ARM Ltd Versatile board. 324 324
+1 -2
arch/arm/mach-integrator/integrator_ap.c
··· 31 31 #include <linux/clockchips.h> 32 32 #include <linux/interrupt.h> 33 33 #include <linux/io.h> 34 + #include <linux/irqchip/versatile-fpga.h> 34 35 #include <linux/mtd/physmap.h> 35 36 #include <linux/clk.h> 36 37 #include <linux/platform_data/clk-integrator.h> ··· 56 55 #include <asm/mach/map.h> 57 56 #include <asm/mach/pci.h> 58 57 #include <asm/mach/time.h> 59 - 60 - #include <plat/fpga-irq.h> 61 58 62 59 #include "common.h" 63 60
+1 -1
arch/arm/mach-integrator/integrator_cp.c
··· 20 20 #include <linux/amba/clcd.h> 21 21 #include <linux/amba/mmci.h> 22 22 #include <linux/io.h> 23 + #include <linux/irqchip/versatile-fpga.h> 23 24 #include <linux/gfp.h> 24 25 #include <linux/mtd/physmap.h> 25 26 #include <linux/platform_data/clk-integrator.h> ··· 47 46 #include <asm/hardware/timer-sp.h> 48 47 49 48 #include <plat/clcd.h> 50 - #include <plat/fpga-irq.h> 51 49 #include <plat/sched_clock.h> 52 50 53 51 #include "common.h"
+1 -1
arch/arm/mach-versatile/core.c
··· 32 32 #include <linux/amba/mmci.h> 33 33 #include <linux/amba/pl022.h> 34 34 #include <linux/io.h> 35 + #include <linux/irqchip/versatile-fpga.h> 35 36 #include <linux/gfp.h> 36 37 #include <linux/clkdev.h> 37 38 #include <linux/mtd/physmap.h> ··· 52 51 #include <asm/hardware/timer-sp.h> 53 52 54 53 #include <plat/clcd.h> 55 - #include <plat/fpga-irq.h> 56 54 #include <plat/sched_clock.h> 57 55 58 56 #include "core.h"
-9
arch/arm/plat-versatile/Kconfig
··· 6 6 config PLAT_VERSATILE_CLCD 7 7 bool 8 8 9 - config PLAT_VERSATILE_FPGA_IRQ 10 - bool 11 - select IRQ_DOMAIN 12 - 13 - config PLAT_VERSATILE_FPGA_IRQ_NR 14 - int 15 - default 4 16 - depends on PLAT_VERSATILE_FPGA_IRQ 17 - 18 9 config PLAT_VERSATILE_LEDS 19 10 def_bool y if NEW_LEDS 20 11 depends on ARCH_REALVIEW || ARCH_VERSATILE
-1
arch/arm/plat-versatile/Makefile
··· 2 2 3 3 obj-$(CONFIG_PLAT_VERSATILE_CLOCK) += clock.o 4 4 obj-$(CONFIG_PLAT_VERSATILE_CLCD) += clcd.o 5 - obj-$(CONFIG_PLAT_VERSATILE_FPGA_IRQ) += fpga-irq.o 6 5 obj-$(CONFIG_PLAT_VERSATILE_LEDS) += leds.o 7 6 obj-$(CONFIG_PLAT_VERSATILE_SCHED_CLOCK) += sched-clock.o 8 7 obj-$(CONFIG_SMP) += headsmp.o platsmp.o
+2 -2
arch/arm/plat-versatile/fpga-irq.c drivers/irqchip/irq-versatile-fpga.c
··· 4 4 #include <linux/bitops.h> 5 5 #include <linux/irq.h> 6 6 #include <linux/io.h> 7 + #include <linux/irqchip/versatile-fpga.h> 7 8 #include <linux/irqdomain.h> 8 9 #include <linux/module.h> 9 10 #include <linux/of.h> ··· 12 11 13 12 #include <asm/exception.h> 14 13 #include <asm/mach/irq.h> 15 - #include <plat/fpga-irq.h> 16 14 17 15 #define IRQ_STATUS 0x00 18 16 #define IRQ_RAW_STATUS 0x04 ··· 42 42 }; 43 43 44 44 /* we cannot allocate memory when the controllers are initially registered */ 45 - static struct fpga_irq_data fpga_irq_devices[CONFIG_PLAT_VERSATILE_FPGA_IRQ_NR]; 45 + static struct fpga_irq_data fpga_irq_devices[CONFIG_VERSATILE_FPGA_IRQ_NR]; 46 46 static int fpga_irq_id; 47 47 48 48 static void fpga_irq_mask(struct irq_data *d)
arch/arm/plat-versatile/include/plat/fpga-irq.h include/linux/irqchip/versatile-fpga.h
+8 -1
drivers/irqchip/Kconfig
··· 1 - # empty 1 + config VERSATILE_FPGA_IRQ 2 + bool 3 + select IRQ_DOMAIN 4 + 5 + config VERSATILE_FPGA_IRQ_NR 6 + int 7 + default 4 8 + depends on VERSATILE_FPGA_IRQ
+1
drivers/irqchip/Makefile
··· 1 1 obj-$(CONFIG_ARCH_BCM2835) += irq-bcm2835.o 2 + obj-$(CONFIG_VERSATILE_FPGA_IRQ) += irq-versatile-fpga.o