> 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 <[email protected]>
> Cc: Lee Jones <[email protected]>
> Signed-off-by: Linus Walleij <[email protected]>
> ---
> 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html