Re: [PATCH 3/4] gpio: tc3589x: get rid of static IRQ base

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 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




[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux