Move the driver for Ingenic SoC interrupt controllers into drivers/irqchip where it belongs. Signed-off-by: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Lars-Peter Clausen <lars@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx --- Changes in v5: None Changes in v4: None Changes in v3: - New patch. Changes in v2: None arch/mips/jz4740/Makefile | 2 +- arch/mips/jz4740/gpio.c | 3 +-- drivers/irqchip/Kconfig | 5 +++++ drivers/irqchip/Makefile | 1 + arch/mips/jz4740/irq.c => drivers/irqchip/irq-ingenic.c | 5 ++--- arch/mips/jz4740/irq.h => include/linux/irqchip/ingenic.h | 4 ++-- 6 files changed, 12 insertions(+), 8 deletions(-) rename arch/mips/jz4740/irq.c => drivers/irqchip/irq-ingenic.c (98%) rename arch/mips/jz4740/irq.h => include/linux/irqchip/ingenic.h (90%) diff --git a/arch/mips/jz4740/Makefile b/arch/mips/jz4740/Makefile index 28e5535..6cf5dd4 100644 --- a/arch/mips/jz4740/Makefile +++ b/arch/mips/jz4740/Makefile @@ -4,7 +4,7 @@ # Object file lists. -obj-y += prom.o irq.o time.o reset.o setup.o \ +obj-y += prom.o time.o reset.o setup.o \ gpio.o clock.o platform.o timer.o serial.o obj-$(CONFIG_DEBUG_FS) += clock-debugfs.o diff --git a/arch/mips/jz4740/gpio.c b/arch/mips/jz4740/gpio.c index 994a7df..54c80d4 100644 --- a/arch/mips/jz4740/gpio.c +++ b/arch/mips/jz4740/gpio.c @@ -21,6 +21,7 @@ #include <linux/gpio.h> #include <linux/delay.h> #include <linux/interrupt.h> +#include <linux/irqchip/ingenic.h> #include <linux/bitops.h> #include <linux/debugfs.h> @@ -28,8 +29,6 @@ #include <asm/mach-jz4740/base.h> -#include "irq.h" - #define JZ4740_GPIO_BASE_A (32*0) #define JZ4740_GPIO_BASE_B (32*1) #define JZ4740_GPIO_BASE_C (32*2) diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig index 6de62a9..1378aca 100644 --- a/drivers/irqchip/Kconfig +++ b/drivers/irqchip/Kconfig @@ -158,3 +158,8 @@ config KEYSTONE_IRQ config MIPS_GIC bool select MIPS_CM + +config INGENIC_IRQ + bool + depends on MACH_INGENIC + default y diff --git a/drivers/irqchip/Makefile b/drivers/irqchip/Makefile index dda4927..982eb84 100644 --- a/drivers/irqchip/Makefile +++ b/drivers/irqchip/Makefile @@ -47,3 +47,4 @@ obj-$(CONFIG_KEYSTONE_IRQ) += irq-keystone.o obj-$(CONFIG_MIPS_GIC) += irq-mips-gic.o obj-$(CONFIG_ARCH_MEDIATEK) += irq-mtk-sysirq.o obj-$(CONFIG_ARCH_DIGICOLOR) += irq-digicolor.o +obj-$(CONFIG_INGENIC_IRQ) += irq-ingenic.o diff --git a/arch/mips/jz4740/irq.c b/drivers/irqchip/irq-ingenic.c similarity index 98% rename from arch/mips/jz4740/irq.c rename to drivers/irqchip/irq-ingenic.c index 64b4c36..005de3f 100644 --- a/arch/mips/jz4740/irq.c +++ b/drivers/irqchip/irq-ingenic.c @@ -18,6 +18,7 @@ #include <linux/types.h> #include <linux/interrupt.h> #include <linux/ioport.h> +#include <linux/irqchip/ingenic.h> #include <linux/of_address.h> #include <linux/of_irq.h> #include <linux/timex.h> @@ -27,9 +28,7 @@ #include <asm/io.h> #include <asm/mach-jz4740/irq.h> -#include "irq.h" - -#include "../../drivers/irqchip/irqchip.h" +#include "irqchip.h" struct ingenic_intc_data { void __iomem *base; diff --git a/arch/mips/jz4740/irq.h b/include/linux/irqchip/ingenic.h similarity index 90% rename from arch/mips/jz4740/irq.h rename to include/linux/irqchip/ingenic.h index 601d527..0ee319a 100644 --- a/arch/mips/jz4740/irq.h +++ b/include/linux/irqchip/ingenic.h @@ -12,8 +12,8 @@ * */ -#ifndef __MIPS_JZ4740_IRQ_H__ -#define __MIPS_JZ4740_IRQ_H__ +#ifndef __LINUX_IRQCHIP_INGENIC_H__ +#define __LINUX_IRQCHIP_INGENIC_H__ #include <linux/irq.h> -- 2.4.1