Re: [PATCH v2] gpio: crystalcove: Use irqchip template

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

 



On Tue, Jul 21, 2020 at 10:08:57AM -0700, Kuppuswamy, Sathyanarayanan wrote:
> Hi,
> 
> On 7/21/20 7:01 AM, Linus Walleij wrote:
> > This makes the driver use the irqchip template to assign
> > properties to the gpio_irq_chip instead of using the
> > explicit calls to gpiochip_irqchip_add_nested() and
> > gpiochip_set_nested_irqchip(). The irqchip is instead
> > added while adding the gpiochip.
> Looks good to me.

Thanks!

>     Reviewed-by: Kuppuswamy Sathyanarayanan
> <sathyanarayanan.kuppuswamy@xxxxxxxxxxxxxxx>

It's not first time your tag goes like this. Please, fix your tools to be it like
Reviewed-by: Name <address@com>
(no leading spaces, no split -- one line)

> > Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> > Cc: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@xxxxxxxxxxxxxxx>
> > Cc: Hans de Goede <hdegoede@xxxxxxxxxx>
> > Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
> > ---
> > ChangeLog v1->V2:
> > - Fixed a variable name ch->cg
> > ---
> >   drivers/gpio/gpio-crystalcove.c | 24 +++++++++++++++---------
> >   1 file changed, 15 insertions(+), 9 deletions(-)
> > 
> > diff --git a/drivers/gpio/gpio-crystalcove.c b/drivers/gpio/gpio-crystalcove.c
> > index 14d1f4c933b6..39349b0e6923 100644
> > --- a/drivers/gpio/gpio-crystalcove.c
> > +++ b/drivers/gpio/gpio-crystalcove.c
> > @@ -330,6 +330,7 @@ static int crystalcove_gpio_probe(struct platform_device *pdev)
> >   	int retval;
> >   	struct device *dev = pdev->dev.parent;
> >   	struct intel_soc_pmic *pmic = dev_get_drvdata(dev);
> > +	struct gpio_irq_chip *girq;
> >   	if (irq < 0)
> >   		return irq;
> > @@ -353,14 +354,15 @@ static int crystalcove_gpio_probe(struct platform_device *pdev)
> >   	cg->chip.dbg_show = crystalcove_gpio_dbg_show;
> >   	cg->regmap = pmic->regmap;
> > -	retval = devm_gpiochip_add_data(&pdev->dev, &cg->chip, cg);
> > -	if (retval) {
> > -		dev_warn(&pdev->dev, "add gpio chip error: %d\n", retval);
> > -		return retval;
> > -	}
> > -
> > -	gpiochip_irqchip_add_nested(&cg->chip, &crystalcove_irqchip, 0,
> > -				    handle_simple_irq, IRQ_TYPE_NONE);
> > +	girq = &cg->chip.irq;
> > +	girq->chip = &crystalcove_irqchip;
> > +	/* This will let us handle the parent IRQ in the driver */
> > +	girq->parent_handler = NULL;
> > +	girq->num_parents = 0;
> > +	girq->parents = NULL;
> > +	girq->default_type = IRQ_TYPE_NONE;
> > +	girq->handler = handle_simple_irq;
> > +	girq->threaded = true;
> >   	retval = request_threaded_irq(irq, NULL, crystalcove_gpio_irq_handler,
> >   				      IRQF_ONESHOT, KBUILD_MODNAME, cg);
> > @@ -370,7 +372,11 @@ static int crystalcove_gpio_probe(struct platform_device *pdev)
> >   		return retval;
> >   	}
> > -	gpiochip_set_nested_irqchip(&cg->chip, &crystalcove_irqchip, irq);
> > +	retval = devm_gpiochip_add_data(&pdev->dev, &cg->chip, cg);
> > +	if (retval) {
> > +		dev_warn(&pdev->dev, "add gpio chip error: %d\n", retval);
> > +		return retval;
> > +	}
> >   	return 0;
> >   }
> > 
> 
> -- 
> Sathyanarayanan Kuppuswamy
> Linux Kernel Developer

-- 
With Best Regards,
Andy Shevchenko





[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