Hi Grant, On 2/16/2012 11:52 PM, Andrew Morton wrote: > On Thu, 16 Feb 2012 02:09:01 -0700 > Grant Likely<grant.lik...@secretlab.ca> wrote: > >> >> This series generalizes the "irq_host" infrastructure from powerpc >> so that it can be used by all architectures and renames it to "irq_domain". > > drivers/mfd/twl-core.c is fairly horked on i386 allmodconfig: > > drivers/mfd/twl-core.c: In function 'twl_probe': > drivers/mfd/twl-core.c:1218: error: implicit declaration of function > 'irq_alloc_descs' > drivers/mfd/twl-core.c:1226: error: implicit declaration of function > 'irq_domain_add_legacy' > drivers/mfd/twl-core.c:1227: error: 'irq_domain_simple_ops' undeclared (first > use in this function) > drivers/mfd/twl-core.c:1227: error: (Each undeclared identifier is reported > only once > drivers/mfd/twl-core.c:1227: error: for each function it appears in.) > > > This is today's linux-next so it has rmk's "ARM: omap: fix broken > twl-core dependencies and ifdefs" in there, which looks like it > attempts to repair this stuff.
If we cannot assume this driver will be used only on architecture that does support IRQ_DOMAIN, we have to keep the #ifdef and then add the missing linux/irq.h. Since this driver is using IRQ_DOMAIN only for Device Tree support, we can still avoid using irq_domain_add_legacy for the legacy non-DT case. That's too bad because I was expecting to use irq_domain to clean the cascading IRQ scheme used in that driver, but that can wait. The fix is trivial, but here it is just in case. Regards, Benoit --- >From 0faf51f8475025260d5db808b1651a38b409803d Mon Sep 17 00:00:00 2001 From: Benoit Cousson <b-cous...@ti.com> Date: Fri, 17 Feb 2012 18:13:31 +0100 Subject: [PATCH] mfd: twl-core: Fix IRQ_DOMAIN dependency TWL chips might be potentially used on architecture that does not support ird_domain yet. Do not call ird_domain API in that case. Include <linux/irq.h> directly since it will not be included anymore by <linux/irqdomain.h> if !IRQ_DOMAIN. Signed-off-by: Benoit Cousson <b-cous...@ti.com> --- drivers/mfd/twl-core.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/drivers/mfd/twl-core.c b/drivers/mfd/twl-core.c index 59888f5..61441e2 100644 --- a/drivers/mfd/twl-core.c +++ b/drivers/mfd/twl-core.c @@ -38,6 +38,7 @@ #include <linux/of.h> #include <linux/of_irq.h> #include <linux/of_platform.h> +#include <linux/irq.h> #include <linux/irqdomain.h> #include <linux/regulator/machine.h> @@ -1237,8 +1238,10 @@ twl_probe(struct i2c_client *client, const struct i2c_device_id *id) pdata->irq_base = status; pdata->irq_end = pdata->irq_base + nr_irqs; +#ifdef IRQ_DOMAIN irq_domain_add_legacy(node, nr_irqs, pdata->irq_base, 0, &irq_domain_simple_ops, NULL); +#endif if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C) == 0) { dev_dbg(&client->dev, "can't talk I2C?\n"); -- 1.7.5.4 _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev