gpio: tc3589x: get rid of static IRQ base
authorLinus Walleij <linus.walleij@linaro.org>
Wed, 9 Apr 2014 10:50:40 +0000 (12:50 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 28 Apr 2014 19:35:07 +0000 (12:35 -0700)
The static IRQ base is not used on any platforms with this chip
(only Ux500). Get rid of it forever, and rely on dynamic IRQ
descriptor allocation.

Cc: Samuel Ortiz <sameo@linux.intel.com>
Cc: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-tc3589x.c
include/linux/mfd/tc3589x.h

index 113e50cb1f59ef6faba33b93a5a4773c2cf9ced2..4b0d8ccbe561bb9190008ed3b6ef473f3713f648 100644 (file)
@@ -32,9 +32,6 @@ struct tc3589x_gpio {
        struct device *dev;
        struct mutex irq_lock;
        struct irq_domain *domain;
-
-       int irq_base;
-
        /* Caches of interrupt control registers for bus_lock */
        u8 regs[CACHE_NR_REGS][CACHE_NR_BANKS];
        u8 oldregs[CACHE_NR_REGS][CACHE_NR_BANKS];
@@ -290,8 +287,6 @@ static struct irq_domain_ops tc3589x_irq_ops = {
 static int tc3589x_gpio_irq_init(struct tc3589x_gpio *tc3589x_gpio,
                                struct device_node *np)
 {
-       int base = tc3589x_gpio->irq_base;
-
        /*
         * If this results in a linear domain, irq_create_mapping() will
         * take care of allocating IRQ descriptors at runtime. When a base
@@ -299,7 +294,7 @@ static int tc3589x_gpio_irq_init(struct tc3589x_gpio *tc3589x_gpio,
         * domain is instantiated.
         */
        tc3589x_gpio->domain = irq_domain_add_simple(np,
-                       tc3589x_gpio->chip.ngpio, base, &tc3589x_irq_ops,
+                       tc3589x_gpio->chip.ngpio, 0, &tc3589x_irq_ops,
                        tc3589x_gpio);
        if (!tc3589x_gpio->domain) {
                dev_err(tc3589x_gpio->dev, "Failed to create irqdomain\n");
@@ -348,9 +343,6 @@ static int tc3589x_gpio_probe(struct platform_device *pdev)
        tc3589x_gpio->chip.of_node = np;
 #endif
 
-       tc3589x_gpio->irq_base = tc3589x->irq_base ?
-               tc3589x->irq_base + TC3589x_INT_GPIO(0) : 0;
-
        /* Bring the GPIO module out of reset */
        ret = tc3589x_set_bits(tc3589x, TC3589x_RSTCTRL,
                               TC3589x_RSTCTRL_GPIRST, 0);
index 6b8e1ff4672b0a39aeef85604a106e93c5984730..e6088c2e2092f0db394940d0a91802de5297c01c 100644 (file)
@@ -111,7 +111,6 @@ enum tx3589x_block {
 #define TC3589x_INT_PORIRQ     7
 
 #define TC3589x_NR_INTERNAL_IRQS       8
-#define TC3589x_INT_GPIO(x)    (TC3589x_NR_INTERNAL_IRQS + (x))
 
 struct tc3589x {
        struct mutex lock;