devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/23] Introduce irq_domain_instanciate()
@ 2024-06-14 17:32 Herve Codina
  2024-06-14 17:32 ` [PATCH 01/23] irqdomain: Introduce irq_domain_free() Herve Codina
                   ` (23 more replies)
  0 siblings, 24 replies; 26+ messages in thread
From: Herve Codina @ 2024-06-14 17:32 UTC (permalink / raw)
  To: Matti Vaittinen, Herve Codina, Thomas Gleixner, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Richard Weinberger,
	Anton Ivanov, Johannes Berg, Marc Zyngier
  Cc: linux-kernel, devicetree, linux-um, Allan Nielsen, Horatiu Vultur,
	Steen Hegelund, Thomas Petazzoni

Hi,

Previously, I sent a series related the support for the LAN966x PCI
device [1] and in particular several patches related irq domain
modifications and the introduction of the Microchip LAN966x OIC driver.

During the review, it was asked to rework the irq domain modification in
order to avoid more wrappers and a new irq_domain_instanciate() function
was proposed [2].

Also a patch [3] sent by Maitti Vaittinen can benefit of this new
irq_domain_instanciate() function. Even if Maitti's use case is not
handle yet in this series, it should not be a big deal add support for
it on top of this current series.

So, this current series introduces this new irq_domain_instanciate()
function and migrate existing wrappers and functions to this new
function (patches 1 to 20).

It then introduces the first driver that uses directly this new function
with the init()/exit() hooks set: the Microchip LAN966x OIC driver
(patches 21 to 23).

Existing irqchip drivers are not converted yet to use this new API
function in the same way as the LAN966x OIC driver does.
I prefer to have this series accepted first to avoid doing and re-doing
several times the same modifications on existing drivers depending on
changes requested on this current series review.

[1] https://lore.kernel.org/lkml/20240527161450.326615-1-herve.codina@bootlin.com/
[2] https://lore.kernel.org/lkml/8734pr5yq1.ffs@tglx/
[3] https://lore.kernel.org/lkml/bbd219c95f4fe88752aee5f21232480fe9b949fb.1717486682.git.mazziesaccount@gmail.com/

Best regards,
Hervé

Herve Codina (23):
  irqdomain: Introduce irq_domain_free()
  irqdomain: Introduce irq_domain_instantiate()
  irqdomain: Fixed unbalanced fwnode get and put
  irqdomain: Constify parameter in is_fwnode_irqchip()
  irqdomain: Use a dedicated function to set the domain name
  irqdomain: Convert __irq_domain_create() to use struct irq_domain_info
  irqdomain: Handle additional domain flags in irq_domain_instantiate()
  irqdomain: Handle domain hierarchy parent in irq_domain_instantiate()
  irqdomain: Use irq_domain_instantiate() for hierarchy domain creation
  irqdomain: Make __irq_domain_create() return an error code
  irqdomain: Handle domain bus token in irq_domain_create()
  irqdomain: Introduce init() and exit() hooks
  genirq/generic_chip: Introduce
    irq_domain_{alloc,remove}_generic_chips()
  genirq/generic_chip: Introduce init() and exit() hooks
  irqdomain: Add support for generic irq chips creation before
    publishing a domain
  irqdomain: Add a resource managed version of irq_domain_instantiate()
  irqdomain: Convert __irq_domain_add() wrappers to
    irq_domain_instantiate()
  irqdomain: Convert domain creation functions to
    irq_domain_instantiate()
  um: virt-pci: Use irq_domain_instantiate()
  irqdomain: Remove __irq_domain_add()
  dt-bindings: interrupt-controller: Add support for Microchip LAN966x
    OIC
  irqchip: Add support for LAN966x OIC
  MAINTAINERS: Add the Microchip LAN966x OIC driver entry

 .../microchip,lan966x-oic.yaml                |  55 ++++
 MAINTAINERS                                   |   6 +
 arch/um/drivers/virt-pci.c                    |  16 +-
 drivers/irqchip/Kconfig                       |  12 +
 drivers/irqchip/Makefile                      |   1 +
 drivers/irqchip/irq-lan966x-oic.c             | 278 ++++++++++++++++++
 include/linux/irq.h                           |  33 +++
 include/linux/irqdomain.h                     | 116 +++++++-
 kernel/irq/devres.c                           |  41 +++
 kernel/irq/generic-chip.c                     | 111 +++++--
 kernel/irq/irqdomain.c                        | 243 +++++++++------
 11 files changed, 782 insertions(+), 130 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/interrupt-controller/microchip,lan966x-oic.yaml
 create mode 100644 drivers/irqchip/irq-lan966x-oic.c

-- 
2.45.0


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

end of thread, other threads:[~2024-06-18 13:06 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-14 17:32 [PATCH 00/23] Introduce irq_domain_instanciate() Herve Codina
2024-06-14 17:32 ` [PATCH 01/23] irqdomain: Introduce irq_domain_free() Herve Codina
2024-06-14 17:32 ` [PATCH 02/23] irqdomain: Introduce irq_domain_instantiate() Herve Codina
2024-06-14 17:32 ` [PATCH 03/23] irqdomain: Fixed unbalanced fwnode get and put Herve Codina
2024-06-14 17:32 ` [PATCH 04/23] irqdomain: Constify parameter in is_fwnode_irqchip() Herve Codina
2024-06-14 17:32 ` [PATCH 05/23] irqdomain: Use a dedicated function to set the domain name Herve Codina
2024-06-14 17:32 ` [PATCH 06/23] irqdomain: Convert __irq_domain_create() to use struct irq_domain_info Herve Codina
2024-06-14 17:32 ` [PATCH 07/23] irqdomain: Handle additional domain flags in irq_domain_instantiate() Herve Codina
2024-06-14 17:32 ` [PATCH 08/23] irqdomain: Handle domain hierarchy parent " Herve Codina
2024-06-14 17:32 ` [PATCH 09/23] irqdomain: Use irq_domain_instantiate() for hierarchy domain creation Herve Codina
2024-06-14 17:32 ` [PATCH 10/23] irqdomain: Make __irq_domain_create() return an error code Herve Codina
2024-06-14 17:32 ` [PATCH 11/23] irqdomain: Handle domain bus token in irq_domain_create() Herve Codina
2024-06-14 17:32 ` [PATCH 12/23] irqdomain: Introduce init() and exit() hooks Herve Codina
2024-06-14 17:32 ` [PATCH 13/23] genirq/generic_chip: Introduce irq_domain_{alloc,remove}_generic_chips() Herve Codina
2024-06-14 17:32 ` [PATCH 14/23] genirq/generic_chip: Introduce init() and exit() hooks Herve Codina
2024-06-14 17:32 ` [PATCH 15/23] irqdomain: Add support for generic irq chips creation before publishing a domain Herve Codina
2024-06-14 17:32 ` [PATCH 16/23] irqdomain: Add a resource managed version of irq_domain_instantiate() Herve Codina
2024-06-14 17:32 ` [PATCH 17/23] irqdomain: Convert __irq_domain_add() wrappers to irq_domain_instantiate() Herve Codina
2024-06-14 17:32 ` [PATCH 18/23] irqdomain: Convert domain creation functions " Herve Codina
2024-06-14 17:32 ` [PATCH 19/23] um: virt-pci: Use irq_domain_instantiate() Herve Codina
2024-06-14 17:32 ` [PATCH 20/23] irqdomain: Remove __irq_domain_add() Herve Codina
2024-06-14 17:32 ` [PATCH 21/23] dt-bindings: interrupt-controller: Add support for Microchip LAN966x OIC Herve Codina
2024-06-14 17:32 ` [PATCH 22/23] irqchip: Add support for " Herve Codina
2024-06-14 17:32 ` [PATCH 23/23] MAINTAINERS: Add the Microchip LAN966x OIC driver entry Herve Codina
2024-06-17 13:57 ` [PATCH 00/23] Introduce irq_domain_instanciate() Thomas Gleixner
2024-06-18 13:05   ` Matti Vaittinen

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).