Re: [PATCH V2 2/3] gpio: tegra: Remove the need of keeping device handle for gpio driver

Thierry Reding
2016-04-19T12:33:30Z

[-- Attachment #1: Type: text/plain, Size: 2025 bytes --]

On Tue, Apr 19, 2016 at 03:13:39PM +0530, Laxman Dewangan wrote:
> Remove the file static device handle variable for keeping device handle
> of driver as this is just required for error prints. The required device
> handle are available from gpiochip structure.
>
> Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
> ---
> drivers/gpio/gpio-tegra.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpio/gpio-tegra.c b/drivers/gpio/gpio-tegra.c
> index 1b0c497..de022a9 100644
> --- a/drivers/gpio/gpio-tegra.c
> +++ b/drivers/gpio/gpio-tegra.c
> @@ -80,7 +80,6 @@ struct tegra_gpio_soc_config {
> u32 upper_offset;
> };
>
> -static struct device *dev;
> static struct irq_domain *irq_domain;
> static void __iomem *regs;
> static u32 tegra_gpio_bank_count;
> @@ -240,7 +239,8 @@ static int tegra_gpio_irq_set_type(struct irq_data *d, unsigned int type)
>
> ret = gpiochip_lock_as_irq(&tegra_gpio_chip, gpio);
> if (ret) {
> - dev_err(dev, "unable to lock Tegra GPIO %d as IRQ\n", gpio);
> + dev_err(tegra_gpio_chip.parent,
> + "unable to lock Tegra GPIO %d as IRQ\n", gpio);

Can't we get rid of the tegra_gpio_chip global variable altogether? We
set a struct tegra_gpio_bank * as the chip data for each of the
interrupts, so if we added a back link to the GPIO chip to each bank
we could easily get at the GPIO chip (and its parent device) from the
IRQ chip implementation.

> return ret;
> }
>
> @@ -465,8 +465,6 @@ static int tegra_gpio_probe(struct platform_device *pdev)
> int i;
> int j;
>
> - dev = &pdev->dev;
> -
> config = of_device_get_match_data(&pdev->dev);
> if (!config) {
> dev_err(&pdev->dev, "Error: No device match found\n");
> @@ -488,6 +486,8 @@ static int tegra_gpio_probe(struct platform_device *pdev)
> }
>
> tegra_gpio_chip.ngpio = tegra_gpio_bank_count * 32;
> + tegra_gpio_chip.parent = &pdev->dev;
> +

This adds a gratuitous blank line.

Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]