diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/mfd/Kconfig | 2 | ||||
-rw-r--r-- | drivers/mfd/twl-core.c | 6 |
2 files changed, 5 insertions, 3 deletions
diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig index cd13e9f2f5e6..f147395bac9a 100644 --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig | |||
@@ -200,7 +200,7 @@ config MENELAUS | |||
200 | 200 | ||
201 | config TWL4030_CORE | 201 | config TWL4030_CORE |
202 | bool "Texas Instruments TWL4030/TWL5030/TWL6030/TPS659x0 Support" | 202 | bool "Texas Instruments TWL4030/TWL5030/TWL6030/TPS659x0 Support" |
203 | depends on I2C=y && GENERIC_HARDIRQS && IRQ_DOMAIN | 203 | depends on I2C=y && GENERIC_HARDIRQS |
204 | help | 204 | help |
205 | Say yes here if you have TWL4030 / TWL6030 family chip on your board. | 205 | Say yes here if you have TWL4030 / TWL6030 family chip on your board. |
206 | This core driver provides register access and IRQ handling | 206 | This core driver provides register access and IRQ handling |
diff --git a/drivers/mfd/twl-core.c b/drivers/mfd/twl-core.c index e04e04ddc15e..8ce3959c6919 100644 --- a/drivers/mfd/twl-core.c +++ b/drivers/mfd/twl-core.c | |||
@@ -263,7 +263,9 @@ struct twl_client { | |||
263 | 263 | ||
264 | static struct twl_client twl_modules[TWL_NUM_SLAVES]; | 264 | static struct twl_client twl_modules[TWL_NUM_SLAVES]; |
265 | 265 | ||
266 | #ifdef CONFIG_IRQ_DOMAIN | ||
266 | static struct irq_domain domain; | 267 | static struct irq_domain domain; |
268 | #endif | ||
267 | 269 | ||
268 | /* mapping the module id to slave id and base address */ | 270 | /* mapping the module id to slave id and base address */ |
269 | struct twl_mapping { | 271 | struct twl_mapping { |
@@ -1226,13 +1228,13 @@ twl_probe(struct i2c_client *client, const struct i2c_device_id *id) | |||
1226 | pdata->irq_base = status; | 1228 | pdata->irq_base = status; |
1227 | pdata->irq_end = pdata->irq_base + nr_irqs; | 1229 | pdata->irq_end = pdata->irq_base + nr_irqs; |
1228 | 1230 | ||
1231 | #ifdef CONFIG_IRQ_DOMAIN | ||
1229 | domain.irq_base = pdata->irq_base; | 1232 | domain.irq_base = pdata->irq_base; |
1230 | domain.nr_irq = nr_irqs; | 1233 | domain.nr_irq = nr_irqs; |
1231 | #ifdef CONFIG_OF_IRQ | ||
1232 | domain.of_node = of_node_get(node); | 1234 | domain.of_node = of_node_get(node); |
1233 | domain.ops = &irq_domain_simple_ops; | 1235 | domain.ops = &irq_domain_simple_ops; |
1234 | #endif | ||
1235 | irq_domain_add(&domain); | 1236 | irq_domain_add(&domain); |
1237 | #endif | ||
1236 | 1238 | ||
1237 | if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C) == 0) { | 1239 | if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C) == 0) { |
1238 | dev_dbg(&client->dev, "can't talk I2C?\n"); | 1240 | dev_dbg(&client->dev, "can't talk I2C?\n"); |