Hi Grant, Today's linux-next merge of the gpio tree got a conflict in drivers/gpio/gpio-em.c between commit 3836309d9346 ("gpio: remove use of __devinit") from the driver-core tree and commit 7385500a49b7 ("gpio/em: convert to linear IRQ domain") from the gpio tree. I fixed it up (see below) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwell sfr@canb.auug.org.au diff --cc drivers/gpio/gpio-em.c index 320a718,b007063..0000000 --- a/drivers/gpio/gpio-em.c +++ b/drivers/gpio/gpio-em.c @@@ -234,41 -233,7 +233,7 @@@ static struct irq_domain_ops em_gio_irq .map = em_gio_irq_domain_map, }; - static int __devinit em_gio_irq_domain_init(struct em_gio_priv *p) - { - struct platform_device *pdev = p->pdev; - struct gpio_em_config *pdata = pdev->dev.platform_data; - - p->irq_base = irq_alloc_descs(pdata->irq_base, 0, - pdata->number_of_pins, numa_node_id()); - if (p->irq_base < 0) { - dev_err(&pdev->dev, "cannot get irq_desc\n"); - return p->irq_base; - } - pr_debug("gio: hw base = %d, nr = %d, sw base = %d\n", - pdata->gpio_base, pdata->number_of_pins, p->irq_base); - - p->irq_domain = irq_domain_add_legacy(pdev->dev.of_node, - pdata->number_of_pins, - p->irq_base, 0, - &em_gio_irq_domain_ops, p); - if (!p->irq_domain) { - irq_free_descs(p->irq_base, pdata->number_of_pins); - return -ENXIO; - } - - return 0; - } - - static void em_gio_irq_domain_cleanup(struct em_gio_priv *p) - { - struct gpio_em_config *pdata = p->pdev->dev.platform_data; - - irq_free_descs(p->irq_base, pdata->number_of_pins); - /* FIXME: irq domain wants to be freed! */ - } - -static int __devinit em_gio_probe(struct platform_device *pdev) +static int em_gio_probe(struct platform_device *pdev) { struct gpio_em_config *pdata = pdev->dev.platform_data; struct em_gio_priv *p;