> 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@xxxxxxxxxxxxxxx> > Cc: Lee Jones <lee.jones@xxxxxxxxxx> > Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> > --- > drivers/gpio/gpio-tc3589x.c | 10 +--------- > include/linux/mfd/tc3589x.h | 1 - > 2 files changed, 1 insertion(+), 10 deletions(-) > > diff --git a/drivers/gpio/gpio-tc3589x.c b/drivers/gpio/gpio-tc3589x.c > index 113e50cb1f59..4b0d8ccbe561 100644 > --- a/drivers/gpio/gpio-tc3589x.c > +++ b/drivers/gpio/gpio-tc3589x.c > @@ -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); > diff --git a/include/linux/mfd/tc3589x.h b/include/linux/mfd/tc3589x.h > index 6b8e1ff4672b..e6088c2e2092 100644 > --- a/include/linux/mfd/tc3589x.h > +++ b/include/linux/mfd/tc3589x.h > @@ -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; Does this actually compile? Does this patch have a dependency? I see TC3589x_INT_GPIO(x) being used still: include/linux/mfd/tc3589x.h: #define TC3589x_NR_IRQS TC3589x_INT_GPIO(TC3589x_NR_GPIOS) -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html