Messages in this thread | | | Date | Wed, 1 Jun 2022 08:51:03 -0700 | Subject | Re: [PATCH v1 1/1] gpio: wcove: make irq_chip immutable | From | Sathyanarayanan Kuppuswamy <> |
| |
On 6/1/22 8:48 AM, Andy Shevchenko wrote: > Since recently, the kernel is nagging about mutable irq_chips: > > "not an immutable chip, please consider fixing it!" > > Drop the unneeded copy, flag it as IRQCHIP_IMMUTABLE, add the new > helper functions and call the appropriate gpiolib functions. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Looks good to me
Reviewed-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
> --- > drivers/gpio/gpio-wcove.c | 10 ++++++++-- > 1 file changed, 8 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpio/gpio-wcove.c b/drivers/gpio/gpio-wcove.c > index 16a0fae1e32e..c18b6b47384f 100644 > --- a/drivers/gpio/gpio-wcove.c > +++ b/drivers/gpio/gpio-wcove.c > @@ -299,6 +299,8 @@ static void wcove_irq_unmask(struct irq_data *data) > if (gpio >= WCOVE_GPIO_NUM) > return; > > + gpiochip_enable_irq(chip, gpio); > + > wg->set_irq_mask = false; > wg->update |= UPDATE_IRQ_MASK; > } > @@ -314,15 +316,19 @@ static void wcove_irq_mask(struct irq_data *data) > > wg->set_irq_mask = true; > wg->update |= UPDATE_IRQ_MASK; > + > + gpiochip_disable_irq(chip, gpio); > } > > -static struct irq_chip wcove_irqchip = { > +static const struct irq_chip wcove_irqchip = { > .name = "Whiskey Cove", > .irq_mask = wcove_irq_mask, > .irq_unmask = wcove_irq_unmask, > .irq_set_type = wcove_irq_type, > .irq_bus_lock = wcove_bus_lock, > .irq_bus_sync_unlock = wcove_bus_sync_unlock, > + .flags = IRQCHIP_IMMUTABLE, > + GPIOCHIP_IRQ_RESOURCE_HELPERS, > }; > > static irqreturn_t wcove_gpio_irq_handler(int irq, void *data) > @@ -452,7 +458,7 @@ static int wcove_gpio_probe(struct platform_device *pdev) > } > > girq = &wg->chip.irq; > - girq->chip = &wcove_irqchip; > + gpio_irq_chip_set_chip(girq, &wcove_irqchip); > /* This will let us handle the parent IRQ in the driver */ > girq->parent_handler = NULL; > girq->num_parents = 0;
-- Sathyanarayanan Kuppuswamy Linux Kernel Developer
| |