Commit 22db089a authored by Ahmed S. Darwish's avatar Ahmed S. Darwish Committed by Thomas Gleixner
Browse files

genirq/msi: Add bus token to struct msi_domain_info



Add a bus token member to struct msi_domain_info and let
msi_create_irq_domain() set the bus token.

That allows to remove the bus token updates at the call sites.

Suggested-by: default avatarThomas Gleixner <tglx@linutronix.de>
Signed-off-by: default avatarAhmed S. Darwish <darwi@linutronix.de>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Reviewed-by: default avatarJason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/20221111122014.294554462@linutronix.de
parent aeef2052
Loading
Loading
Loading
Loading
+11 −8
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@
 * abuse. The only function which is relevant for drivers is msi_get_virq().
 */

#include <linux/irqdomain_defs.h>
#include <linux/cpumask.h>
#include <linux/xarray.h>
#include <linux/mutex.h>
@@ -365,6 +366,7 @@ struct msi_domain_ops {
/**
 * struct msi_domain_info - MSI interrupt domain data
 * @flags:		Flags to decribe features and capabilities
 * @bus_token:		The domain bus token
 * @ops:		The callback data structure
 * @chip:		Optional: associated interrupt chip
 * @chip_data:		Optional: associated interrupt chip data
@@ -375,6 +377,7 @@ struct msi_domain_ops {
 */
struct msi_domain_info {
	u32				flags;
	enum irq_domain_bus_token	bus_token;
	struct msi_domain_ops		*ops;
	struct irq_chip			*chip;
	void				*chip_data;
+5 −2
Original line number Diff line number Diff line
@@ -694,8 +694,11 @@ struct irq_domain *msi_create_irq_domain(struct fwnode_handle *fwnode,
	domain = irq_domain_create_hierarchy(parent, IRQ_DOMAIN_FLAG_MSI, 0,
					     fwnode, &msi_domain_ops, info);

	if (domain && !domain->name && info->chip)
	if (domain) {
		if (!domain->name && info->chip)
			domain->name = info->chip->name;
		irq_domain_update_bus_token(domain, info->bus_token);
	}

	return domain;
}