소스 검색

microblaze/irqchip: Move intc driver to irqchip

The Xilinx AXI Interrupt Controller IP block is used by the MIPS
based xilfpga platform and a few PowerPC based platforms.

Move the interrupt controller code out of arch/microblaze so that
it can be used by everyone

Tested-by: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Zubair Lutfullah Kakakhel 8 년 전
부모
커밋
0547dc7885
5개의 변경된 파일7개의 추가작업 그리고 1개의 파일을 삭제
  1. 1 0
      arch/microblaze/Kconfig
  2. 1 1
      arch/microblaze/kernel/Makefile
  3. 4 0
      drivers/irqchip/Kconfig
  4. 1 0
      drivers/irqchip/Makefile
  5. 0 0
      drivers/irqchip/irq-xilinx-intc.c

+ 1 - 0
arch/microblaze/Kconfig

@@ -27,6 +27,7 @@ config MICROBLAZE
 	select HAVE_MEMBLOCK_NODE_MAP
 	select HAVE_MEMBLOCK_NODE_MAP
 	select HAVE_OPROFILE
 	select HAVE_OPROFILE
 	select IRQ_DOMAIN
 	select IRQ_DOMAIN
+	select XILINX_INTC
 	select MODULES_USE_ELF_RELA
 	select MODULES_USE_ELF_RELA
 	select OF
 	select OF
 	select OF_EARLY_FLATTREE
 	select OF_EARLY_FLATTREE

+ 1 - 1
arch/microblaze/kernel/Makefile

@@ -15,7 +15,7 @@ endif
 extra-y := head.o vmlinux.lds
 extra-y := head.o vmlinux.lds
 
 
 obj-y += dma.o exceptions.o \
 obj-y += dma.o exceptions.o \
-	hw_exception_handler.o intc.o irq.o \
+	hw_exception_handler.o irq.o \
 	platform.o process.o prom.o ptrace.o \
 	platform.o process.o prom.o ptrace.o \
 	reset.o setup.o signal.o sys_microblaze.o timer.o traps.o unwind.o
 	reset.o setup.o signal.o sys_microblaze.o timer.o traps.o unwind.o
 
 

+ 4 - 0
drivers/irqchip/Kconfig

@@ -211,6 +211,10 @@ config XTENSA_MX
 	bool
 	bool
 	select IRQ_DOMAIN
 	select IRQ_DOMAIN
 
 
+config XILINX_INTC
+	bool
+	select IRQ_DOMAIN
+
 config IRQ_CROSSBAR
 config IRQ_CROSSBAR
 	bool
 	bool
 	help
 	help

+ 1 - 0
drivers/irqchip/Makefile

@@ -52,6 +52,7 @@ obj-$(CONFIG_TB10X_IRQC)		+= irq-tb10x.o
 obj-$(CONFIG_TS4800_IRQ)		+= irq-ts4800.o
 obj-$(CONFIG_TS4800_IRQ)		+= irq-ts4800.o
 obj-$(CONFIG_XTENSA)			+= irq-xtensa-pic.o
 obj-$(CONFIG_XTENSA)			+= irq-xtensa-pic.o
 obj-$(CONFIG_XTENSA_MX)			+= irq-xtensa-mx.o
 obj-$(CONFIG_XTENSA_MX)			+= irq-xtensa-mx.o
+obj-$(CONFIG_XILINX_INTC)		+= irq-xilinx-intc.o
 obj-$(CONFIG_IRQ_CROSSBAR)		+= irq-crossbar.o
 obj-$(CONFIG_IRQ_CROSSBAR)		+= irq-crossbar.o
 obj-$(CONFIG_SOC_VF610)			+= irq-vf610-mscm-ir.o
 obj-$(CONFIG_SOC_VF610)			+= irq-vf610-mscm-ir.o
 obj-$(CONFIG_BCM6345_L1_IRQ)		+= irq-bcm6345-l1.o
 obj-$(CONFIG_BCM6345_L1_IRQ)		+= irq-bcm6345-l1.o

+ 0 - 0
arch/microblaze/kernel/intc.c → drivers/irqchip/irq-xilinx-intc.c