irqchip: Provide irq-msi-lib
authorThomas Gleixner <tglx@linutronix.de>
Sun, 23 Jun 2024 15:18:34 +0000 (17:18 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 18 Jul 2024 18:31:19 +0000 (20:31 +0200)
commit72e257c6f058032daba1c4fe0c81003d545d0f81
tree6b67f1b769d51e846efd94bf20b23a9144fa9d87
parent7d189c77106ed6df09829f7a419e35ada67b2bd0
irqchip: Provide irq-msi-lib

All irqdomains which provide MSI parent domain functionality for per device
MSI domains need to provide a select() callback for the irqdomain and a
function to initialize the child domain.

Most of these functions would just be copy&paste with minimal
modifications, so provide a library function which implements the required
functionality and is customizable via parent_domain::msi_parent_ops. The
check for the supported bus tokens in msi_lib_init_dev_msi_info() is
expanded step by step within the next patches.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Anna-Maria Behnsen <anna-maria@linutronix.de>
Signed-off-by: Shivamurthy Shastri <shivamurthy.shastri@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20240623142234.840975799@linutronix.de
drivers/irqchip/Kconfig
drivers/irqchip/Makefile
drivers/irqchip/irq-msi-lib.c [new file with mode: 0644]
drivers/irqchip/irq-msi-lib.h [new file with mode: 0644]