1aeef2052SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0 */
2aeef2052SThomas Gleixner #ifndef _LINUX_IRQDOMAIN_DEFS_H
3aeef2052SThomas Gleixner #define _LINUX_IRQDOMAIN_DEFS_H
4aeef2052SThomas Gleixner 
5aeef2052SThomas Gleixner /*
6aeef2052SThomas Gleixner  * Should several domains have the same device node, but serve
7aeef2052SThomas Gleixner  * different purposes (for example one domain is for PCI/MSI, and the
8aeef2052SThomas Gleixner  * other for wired IRQs), they can be distinguished using a
9aeef2052SThomas Gleixner  * bus-specific token. Most domains are expected to only carry
10aeef2052SThomas Gleixner  * DOMAIN_BUS_ANY.
11aeef2052SThomas Gleixner  */
12aeef2052SThomas Gleixner enum irq_domain_bus_token {
13aeef2052SThomas Gleixner 	DOMAIN_BUS_ANY		= 0,
14aeef2052SThomas Gleixner 	DOMAIN_BUS_WIRED,
15aeef2052SThomas Gleixner 	DOMAIN_BUS_GENERIC_MSI,
16aeef2052SThomas Gleixner 	DOMAIN_BUS_PCI_MSI,
17aeef2052SThomas Gleixner 	DOMAIN_BUS_PLATFORM_MSI,
18aeef2052SThomas Gleixner 	DOMAIN_BUS_NEXUS,
19aeef2052SThomas Gleixner 	DOMAIN_BUS_IPI,
20aeef2052SThomas Gleixner 	DOMAIN_BUS_FSL_MC_MSI,
21aeef2052SThomas Gleixner 	DOMAIN_BUS_TI_SCI_INTA_MSI,
22aeef2052SThomas Gleixner 	DOMAIN_BUS_WAKEUP,
23aeef2052SThomas Gleixner 	DOMAIN_BUS_VMD_MSI,
24bd141a3dSThomas Gleixner 	DOMAIN_BUS_PCI_DEVICE_MSI,
25bd141a3dSThomas Gleixner 	DOMAIN_BUS_PCI_DEVICE_MSIX,
269a945234SThomas Gleixner 	DOMAIN_BUS_DMAR,
27cc7594ffSThomas Gleixner 	DOMAIN_BUS_AMDVI,
28*e23d4192SThomas Gleixner 	DOMAIN_BUS_PCI_DEVICE_IMS,
29aeef2052SThomas Gleixner };
30aeef2052SThomas Gleixner 
31aeef2052SThomas Gleixner #endif /* _LINUX_IRQDOMAIN_DEFS_H */
32