summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2011-12-05 16:21:05 +0000
committerMark Brown <broonie@opensource.wolfsonmicro.com>2011-12-05 16:21:05 +0000
commit681ba97d9fbff59f67c71f1d9a88ad0b8ef49d25 (patch)
treea9f2719a6a283bdbca27167aa2803cd8ddae6930
parent8569d023a0db699c462337d471f7e92163142e37 (diff)
parent209a600623cf13a8168b2f6b83643db7825abb9a (diff)
Merge branch 'regmap/irq' into regmap-next
-rw-r--r--drivers/base/regmap/regmap-irq.c13
-rw-r--r--include/linux/regmap.h1
2 files changed, 14 insertions, 0 deletions
diff --git a/drivers/base/regmap/regmap-irq.c b/drivers/base/regmap/regmap-irq.c
index 6b8a74c3ed1..428836fc583 100644
--- a/drivers/base/regmap/regmap-irq.c
+++ b/drivers/base/regmap/regmap-irq.c
@@ -287,3 +287,16 @@ void regmap_del_irq_chip(int irq, struct regmap_irq_chip_data *d)
kfree(d);
}
EXPORT_SYMBOL_GPL(regmap_del_irq_chip);
+
+/**
+ * regmap_irq_chip_get_base(): Retrieve interrupt base for a regmap IRQ chip
+ *
+ * Useful for drivers to request their own IRQs.
+ *
+ * @data: regmap_irq controller to operate on.
+ */
+int regmap_irq_chip_get_base(struct regmap_irq_chip_data *data)
+{
+ return data->irq_base;
+}
+EXPORT_SYMBOL_GPL(regmap_irq_chip_get_base);
diff --git a/include/linux/regmap.h b/include/linux/regmap.h
index cfce3a358fb..eb93921cdd3 100644
--- a/include/linux/regmap.h
+++ b/include/linux/regmap.h
@@ -195,5 +195,6 @@ int regmap_add_irq_chip(struct regmap *map, int irq, int irq_flags,
int irq_base, struct regmap_irq_chip *chip,
struct regmap_irq_chip_data **data);
void regmap_del_irq_chip(int irq, struct regmap_irq_chip_data *data);
+int regmap_irq_chip_get_base(struct regmap_irq_chip_data *data);
#endif