genirq/msi: Extend msi_parent_ops
authorThomas Gleixner <tglx@linutronix.de>
Sat, 27 Jan 2024 16:17:31 +0000 (21:47 +0530)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 15 Feb 2024 16:55:40 +0000 (17:55 +0100)
commitac81e94ab001c2882e89c9b61417caea64b800df
tree2c957a3e40ef986907e3c9e9d37aa320c0d60cb6
parentde1ff306dcf4546d6a8863b1f956335e0d3fbb9b
genirq/msi: Extend msi_parent_ops

Supporting per device MSI domains on ARM64, RISC-V and the zoo of
interrupt mechanisms needs a bit more information than what the
initial x86 implementation provides.

Add the following fields:

  - required_flags:  The flags which a parent domain requires to be set
  - bus_select_token: The bus token of the parent domain for select()
  - bus_select_mask: A bitmask of supported child domain bus types

This allows to provide library functions which can be shared between
various interrupt chip implementations and avoids replicating mostly
similar code all over the place.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Anup Patel <apatel@ventanamicro.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20240127161753.114685-4-apatel@ventanamicro.com
include/linux/msi.h