All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/8] irqchip/stm32-exti: split MCU and MPU code, allow module build
@ 2024-06-20  8:31 Antonio Borneo
  2024-06-20  8:31 ` [PATCH v3 1/8] irqchip/stm32-exti: add CONFIG_STM32MP_EXTI Antonio Borneo
                   ` (7 more replies)
  0 siblings, 8 replies; 20+ messages in thread
From: Antonio Borneo @ 2024-06-20  8:31 UTC (permalink / raw)
  To: Russell King, Maxime Coquelin, Alexandre Torgue, Catalin Marinas,
	Will Deacon, Thomas Gleixner
  Cc: Antonio Borneo, linux-arm-kernel, linux-stm32, linux-kernel

The file 'irq-stm32-exti.c' contains two drivers:
- EXTI for ARMv7m STM32 MCUs;
- EXTI for ARMv7a & ARMv8a STM32MPxxx MPUs.

The current arrangement causes some issue:
- the growing code for MPUs uses precious space on memory constraint
  MCUs devices;
- the driver for MPU cannot be built as module;
- there are risks to break one of the two drivers while working on
  the other.

Since there are only 4 minor functions shared among the two drivers:
- stm32_exti_set_type();
- stm32_chip_resume();
- stm32_chip_suspend();
- stm32_exti_chip_init();

this series splits the file in two independent files, each containing
a single driver.
To guarantee bisect-ability, the series first introduces some hook in
Kconfig, then splits the file and at the end enables module build on
MPU while cleaning-up Kconfig.
The symbols in the MPU file are renamed to better match the new name
of the driver.

The patches are created with 'git format-patch -C' to correctly show
the deleted parts and the tiny modifications between the original
monolithic file and the two extracted ones.

The series is rebased on irq/core branch of tip as it depends on a
previous series already queued for v6.10 merge window.


v1 -> v2
- fix module dependency from IRQ_DOMAIN_HIERARCHY, detected by kernel
  test robot <lkp@intel.com>

v2 -> v3
- rebase on v6.10-rc1, fixing one conflict

Antonio Borneo (8):
  irqchip/stm32-exti: add CONFIG_STM32MP_EXTI
  ARM: stm32: use different EXTI driver on ARMv7m and ARMv7a
  arm64: Kconfig: select STM32MP_EXTI on STM32 platforms
  irqchip/stm32-exti: split MCU and MPU code
  irqchip/stm32mp-exti: rename internal symbols
  irqchip/stm32mp-exti: allow build as module
  ARM: stm32: allow build irq-stm32mp-exti driver as module
  arm64: Kconfig: allow build irq-stm32mp-exti driver as module

 arch/arm/mach-stm32/Kconfig        |   2 +-
 arch/arm64/Kconfig.platforms       |   1 -
 drivers/irqchip/Kconfig            |   9 +
 drivers/irqchip/Makefile           |   1 +
 drivers/irqchip/irq-stm32-exti.c   | 670 +-------------------------
 drivers/irqchip/irq-stm32mp-exti.c | 737 +++++++++++++++++++++++++++++
 6 files changed, 752 insertions(+), 668 deletions(-)
 create mode 100644 drivers/irqchip/irq-stm32mp-exti.c


base-commit: 1613e604df0cd359cf2a7fbd9be7a0bcfacfabd0
-- 
2.34.1



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

end of thread, other threads:[~2024-06-23 22:20 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-20  8:31 [PATCH v3 0/8] irqchip/stm32-exti: split MCU and MPU code, allow module build Antonio Borneo
2024-06-20  8:31 ` [PATCH v3 1/8] irqchip/stm32-exti: add CONFIG_STM32MP_EXTI Antonio Borneo
2024-06-23 17:52   ` [tip: irq/core] irqchip/stm32-exti: Add CONFIG_STM32MP_EXTI tip-bot2 for Antonio Borneo
2024-06-20  8:31 ` [PATCH v3 2/8] ARM: stm32: use different EXTI driver on ARMv7m and ARMv7a Antonio Borneo
2024-06-23 17:52   ` [tip: irq/core] ARM: stm32: Use " tip-bot2 for Antonio Borneo
2024-06-20  8:31 ` [PATCH v3 3/8] arm64: Kconfig: select STM32MP_EXTI on STM32 platforms Antonio Borneo
2024-06-23 17:52   ` [tip: irq/core] arm64: Kconfig: Select " tip-bot2 for Antonio Borneo
2024-06-20  8:31 ` [PATCH v3 4/8] irqchip/stm32-exti: split MCU and MPU code Antonio Borneo
2024-06-23 17:52   ` [tip: irq/core] irqchip/stm32-exti: Split " tip-bot2 for Antonio Borneo
2024-06-20  8:31 ` [PATCH v3 5/8] irqchip/stm32mp-exti: rename internal symbols Antonio Borneo
2024-06-23 17:52   ` [tip: irq/core] irqchip/stm32mp-exti: Rename " tip-bot2 for Antonio Borneo
2024-06-20  8:31 ` [PATCH v3 6/8] irqchip/stm32mp-exti: allow build as module Antonio Borneo
2024-06-23 22:20   ` [tip: irq/core] irqchip/stm32mp-exti: Allow building " tip-bot2 for Antonio Borneo
2024-06-20  8:31 ` [PATCH v3 7/8] ARM: stm32: allow build irq-stm32mp-exti driver " Antonio Borneo
2024-06-23 17:27   ` Thomas Gleixner
2024-06-23 17:38     ` Antonio Borneo
2024-06-23 22:15       ` Thomas Gleixner
2024-06-23 22:20   ` [tip: irq/core] ARM: stm32: Allow " tip-bot2 for Antonio Borneo
2024-06-20  8:31 ` [PATCH v3 8/8] arm64: Kconfig: allow " Antonio Borneo
2024-06-23 22:20   ` [tip: irq/core] arm64: Kconfig: Allow " tip-bot2 for Antonio Borneo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.