Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'gpio-fixes-for-v6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux

Pull gpio fix from Bartosz Golaszewski:

- fix a regression in irqchip setup in gpio-zynq

* tag 'gpio-fixes-for-v6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
gpio: zynq: restore zynq_gpio_irq_reqres/zynq_gpio_irq_relres callbacks

+24 -2
+24 -2
drivers/gpio/gpio-zynq.c
··· 575 575 return 0; 576 576 } 577 577 578 + static int zynq_gpio_irq_reqres(struct irq_data *d) 579 + { 580 + struct gpio_chip *chip = irq_data_get_irq_chip_data(d); 581 + int ret; 582 + 583 + ret = pm_runtime_resume_and_get(chip->parent); 584 + if (ret < 0) 585 + return ret; 586 + 587 + return gpiochip_reqres_irq(chip, d->hwirq); 588 + } 589 + 590 + static void zynq_gpio_irq_relres(struct irq_data *d) 591 + { 592 + struct gpio_chip *chip = irq_data_get_irq_chip_data(d); 593 + 594 + gpiochip_relres_irq(chip, d->hwirq); 595 + pm_runtime_put(chip->parent); 596 + } 597 + 578 598 /* irq chip descriptor */ 579 599 static const struct irq_chip zynq_gpio_level_irqchip = { 580 600 .name = DRIVER_NAME, ··· 604 584 .irq_unmask = zynq_gpio_irq_unmask, 605 585 .irq_set_type = zynq_gpio_set_irq_type, 606 586 .irq_set_wake = zynq_gpio_set_wake, 587 + .irq_request_resources = zynq_gpio_irq_reqres, 588 + .irq_release_resources = zynq_gpio_irq_relres, 607 589 .flags = IRQCHIP_EOI_THREADED | IRQCHIP_EOI_IF_HANDLED | 608 590 IRQCHIP_MASK_ON_SUSPEND | IRQCHIP_IMMUTABLE, 609 - GPIOCHIP_IRQ_RESOURCE_HELPERS, 610 591 }; 611 592 612 593 static const struct irq_chip zynq_gpio_edge_irqchip = { ··· 618 597 .irq_unmask = zynq_gpio_irq_unmask, 619 598 .irq_set_type = zynq_gpio_set_irq_type, 620 599 .irq_set_wake = zynq_gpio_set_wake, 600 + .irq_request_resources = zynq_gpio_irq_reqres, 601 + .irq_release_resources = zynq_gpio_irq_relres, 621 602 .flags = IRQCHIP_MASK_ON_SUSPEND | IRQCHIP_IMMUTABLE, 622 - GPIOCHIP_IRQ_RESOURCE_HELPERS, 623 603 }; 624 604 625 605 static void zynq_gpio_handle_bank_irq(struct zynq_gpio *gpio,