linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH RFC 0/9] gpio: make irq_chip immutable
@ 2025-05-09  4:45 Peng Fan (OSS)
  2025-05-09  4:45 ` [PATCH RFC 1/9] gpio: bcm-kona: " Peng Fan (OSS)
                   ` (11 more replies)
  0 siblings, 12 replies; 16+ messages in thread
From: Peng Fan (OSS) @ 2025-05-09  4:45 UTC (permalink / raw)
  To: Ray Jui, Broadcom internal kernel review list, Linus Walleij,
	Bartosz Golaszewski, Florian Fainelli, Scott Branden,
	Vladimir Zapolskiy, Keerthy, Robert Jarzmik
  Cc: linux-gpio, linux-kernel, linux-arm-kernel, Peng Fan

This might be a bit late to post this patchset, since it is almost rc6,
but no rush here. Not expect this patchset be in 6.16.

This is an effort to make irq_chip immutable to elimnate the kernel
warning "not an immutable chip, please consider fixing!"

The major changes 
- add "gpiochip_disable_irq(gc, hwirq)" to end of mask hook
- add "gpiochip_enable_irq(gc, hwirq)" to start of unmask hook
- add IMMUTABLE flag
- add GPIOCHIP_IRQ_RESOURCE_HELPERS

For davinci, two patches are made, 1st is to update irq chip data, 2nd
make irq_chip immutable.
For xgene-sb, two functions are added, because previous driver directly
use irq_chip_unmask_parent and irq_chip_mask_parent.

In some patches, I use irqd_to_hwirq(d) to get hwirq; in others, I
direclty use d->hwirq to align with previous code.

Some Kconfig entries do not select GPILIB_IRQCHIP, but I tried
to build pxa_defconfig lpc18xx_defconfig and multi_v7_defconfig,
GPIOLIB_IRQCHIP is y.
Not sure we should select GPIOLIB_IRQCHIP for them, because if
deselect GPIOLIB_IRQCHIP, there will be build failure.

I not have platform to test the code, just best effort to do this
patchset.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
Peng Fan (9):
      gpio: bcm-kona: make irq_chip immutable
      gpio: grgpio: Make irq_chip immutable
      gpio: lpc18xx: Make irq_chip immutable
      gpio: mpc8xxx: Make irq_chip immutable
      gpio: davinci: Update irq chip data
      gpio: davinci: Make irq_chip immutable
      gpio: xgene-sb: Make irq_chip immutable
      gpio: timberdale: Make irq_chip immutable
      gpio: pxa: Make irq_chip immutable

 drivers/gpio/gpio-bcm-kona.c   |  1 +
 drivers/gpio/gpio-davinci.c    | 29 ++++++++++++++---------------
 drivers/gpio/gpio-grgpio.c     |  7 ++++++-
 drivers/gpio/gpio-lpc18xx.c    | 13 +++++++++++--
 drivers/gpio/gpio-mpc8xxx.c    |  8 ++++++++
 drivers/gpio/gpio-pxa.c        |  8 +++++++-
 drivers/gpio/gpio-timberdale.c | 10 +++++++++-
 drivers/gpio/gpio-xgene-sb.c   | 26 +++++++++++++++++++++++---
 8 files changed, 79 insertions(+), 23 deletions(-)
---
base-commit: f48887a98b78880b7711aca311fbbbcaad6c4e3b
change-id: 20250509-gpio-c09a49e972ba

Best regards,
-- 
Peng Fan <peng.fan@nxp.com>



^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2025-05-19 11:14 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-09  4:45 [PATCH RFC 0/9] gpio: make irq_chip immutable Peng Fan (OSS)
2025-05-09  4:45 ` [PATCH RFC 1/9] gpio: bcm-kona: " Peng Fan (OSS)
2025-05-09  4:45 ` [PATCH RFC 2/9] gpio: grgpio: Make " Peng Fan (OSS)
2025-05-09  4:45 ` [PATCH RFC 3/9] gpio: lpc18xx: " Peng Fan (OSS)
2025-05-09  4:45 ` [PATCH RFC 4/9] gpio: mpc8xxx: " Peng Fan (OSS)
2025-05-09  4:45 ` [PATCH RFC 5/9] gpio: davinci: Update irq chip data Peng Fan (OSS)
2025-05-09  4:45 ` [PATCH RFC 6/9] gpio: davinci: Make irq_chip immutable Peng Fan (OSS)
2025-05-09  4:45 ` [PATCH RFC 7/9] gpio: xgene-sb: " Peng Fan (OSS)
2025-05-09  4:45 ` [PATCH RFC 8/9] gpio: timberdale: " Peng Fan (OSS)
2025-05-10 18:26   ` Andy Shevchenko
2025-05-09  4:45 ` [PATCH RFC 9/9] gpio: pxa: " Peng Fan (OSS)
2025-05-10 18:29 ` [PATCH RFC 0/9] gpio: make " Andy Shevchenko
2025-05-13 13:13 ` Linus Walleij
2025-05-15 15:02 ` Bartosz Golaszewski
2025-05-19  3:56   ` Peng Fan
2025-05-19 11:11     ` Bartosz Golaszewski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).