diff --git a/arch/arm/mach-at91/gpio.c b/arch/arm/mach-at91/gpio.c index 89e683aaae6c3b94ef996bb8a062efdfc06ee2a9..0dc3f5ead7bb8fe115ccf9923cf6a4b1a994f68d 100644 --- a/arch/arm/mach-at91/gpio.c +++ b/arch/arm/mach-at91/gpio.c @@ -496,12 +496,17 @@ postcore_initcall(at91_gpio_debugfs_init); static void __init at91_gpio_irqdomain(struct at91_gpio_chip *at91_gpio) { int irq_base; +#if defined(CONFIG_OF) + struct device_node *of_node = at91_gpio->chip.of_node; +#else + struct device_node *of_node = NULL; +#endif irq_base = irq_alloc_descs(-1, 0, at91_gpio->chip.ngpio, 0); if (irq_base < 0) panic("at91_gpio.%d: error %d: couldn't allocate IRQ numbers.\n", at91_gpio->pioc_idx, irq_base); - at91_gpio->domain = irq_domain_add_legacy(at91_gpio->chip.of_node, + at91_gpio->domain = irq_domain_add_legacy(of_node, at91_gpio->chip.ngpio, irq_base, 0, &irq_domain_simple_ops, NULL);