diff options
Diffstat (limited to 'arch/arm/mach-versatile/core.c')
| -rw-r--r-- | arch/arm/mach-versatile/core.c | 18 | 
1 files changed, 8 insertions, 10 deletions
diff --git a/arch/arm/mach-versatile/core.c b/arch/arm/mach-versatile/core.c index 6bbd74e950a..cf4687ee2a7 100644 --- a/arch/arm/mach-versatile/core.c +++ b/arch/arm/mach-versatile/core.c @@ -66,12 +66,6 @@  #define VA_VIC_BASE		__io_address(VERSATILE_VIC_BASE)  #define VA_SIC_BASE		__io_address(VERSATILE_SIC_BASE) -static struct fpga_irq_data sic_irq = { -	.base		= VA_SIC_BASE, -	.irq_start	= IRQ_SIC_START, -	.chip.name	= "SIC", -}; -  #if 1  #define IRQ_MMCI0A	IRQ_VICSOURCE22  #define IRQ_AACI	IRQ_VICSOURCE24 @@ -105,8 +99,11 @@ void __init versatile_init_irq(void)  	writel(~0, VA_SIC_BASE + SIC_IRQ_ENABLE_CLEAR); -	fpga_irq_init(IRQ_VICSOURCE31, ~PIC_MASK, &sic_irq); -	irq_domain_generate_simple(sic_of_match, VERSATILE_SIC_BASE, IRQ_SIC_START); +	np = of_find_matching_node_by_address(NULL, sic_of_match, +					      VERSATILE_SIC_BASE); + +	fpga_irq_init(VA_SIC_BASE, "SIC", IRQ_SIC_START, +		IRQ_VICSOURCE31, ~PIC_MASK, np);  	/*  	 * Interrupts on secondary controller from 0 to 8 are routed to @@ -666,17 +663,18 @@ static struct amba_device *amba_devs[] __initdata = {   * having a specific name.   */  struct of_dev_auxdata versatile_auxdata_lookup[] __initdata = { -	OF_DEV_AUXDATA("arm,primecell", VERSATILE_MMCI0_BASE, "fpga:05", NULL), +	OF_DEV_AUXDATA("arm,primecell", VERSATILE_MMCI0_BASE, "fpga:05", &mmc0_plat_data),  	OF_DEV_AUXDATA("arm,primecell", VERSATILE_KMI0_BASE, "fpga:06", NULL),  	OF_DEV_AUXDATA("arm,primecell", VERSATILE_KMI1_BASE, "fpga:07", NULL),  	OF_DEV_AUXDATA("arm,primecell", VERSATILE_UART3_BASE, "fpga:09", NULL), +	/* FIXME: this is buggy, the platform data is needed for this MMC instance too */  	OF_DEV_AUXDATA("arm,primecell", VERSATILE_MMCI1_BASE, "fpga:0b", NULL),  	OF_DEV_AUXDATA("arm,primecell", VERSATILE_CLCD_BASE, "dev:20", &clcd_plat_data),  	OF_DEV_AUXDATA("arm,primecell", VERSATILE_UART0_BASE, "dev:f1", NULL),  	OF_DEV_AUXDATA("arm,primecell", VERSATILE_UART1_BASE, "dev:f2", NULL),  	OF_DEV_AUXDATA("arm,primecell", VERSATILE_UART2_BASE, "dev:f3", NULL), -	OF_DEV_AUXDATA("arm,primecell", VERSATILE_SSP_BASE, "dev:f4", NULL), +	OF_DEV_AUXDATA("arm,primecell", VERSATILE_SSP_BASE, "dev:f4", &ssp0_plat_data),  #if 0  	/*  |