mirror of
https://github.com/torvalds/linux.git
synced 2024-12-29 14:21:47 +00:00
platform-msi: Let the core code handle sysfs groups
Set the domain info flag and remove the local sysfs code. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: Nishanth Menon <nm@ti.com> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> Link: https://lore.kernel.org/r/20211210221814.109408832@linutronix.de
This commit is contained in:
parent
ffd84485e6
commit
25ce693ef7
@ -23,7 +23,6 @@
|
||||
struct platform_msi_priv_data {
|
||||
struct device *dev;
|
||||
void *host_data;
|
||||
const struct attribute_group **msi_irq_groups;
|
||||
msi_alloc_info_t arg;
|
||||
irq_write_msi_msg_t write_msg;
|
||||
int devid;
|
||||
@ -191,6 +190,7 @@ struct irq_domain *platform_msi_create_irq_domain(struct fwnode_handle *fwnode,
|
||||
platform_msi_update_dom_ops(info);
|
||||
if (info->flags & MSI_FLAG_USE_DEF_CHIP_OPS)
|
||||
platform_msi_update_chip_ops(info);
|
||||
info->flags |= MSI_FLAG_DEV_SYSFS;
|
||||
|
||||
domain = msi_create_irq_domain(fwnode, info, parent);
|
||||
if (domain)
|
||||
@ -279,16 +279,8 @@ int platform_msi_domain_alloc_irqs(struct device *dev, unsigned int nvec,
|
||||
if (err)
|
||||
goto out_free_desc;
|
||||
|
||||
priv_data->msi_irq_groups = msi_populate_sysfs(dev);
|
||||
if (IS_ERR(priv_data->msi_irq_groups)) {
|
||||
err = PTR_ERR(priv_data->msi_irq_groups);
|
||||
goto out_free_irqs;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
out_free_irqs:
|
||||
msi_domain_free_irqs(dev->msi.domain, dev);
|
||||
out_free_desc:
|
||||
platform_msi_free_descs(dev, 0, nvec);
|
||||
out_free_priv_data:
|
||||
@ -308,7 +300,6 @@ void platform_msi_domain_free_irqs(struct device *dev)
|
||||
struct msi_desc *desc;
|
||||
|
||||
desc = first_msi_entry(dev);
|
||||
msi_destroy_sysfs(dev, desc->platform.msi_priv_data->msi_irq_groups);
|
||||
platform_msi_free_priv_data(desc->platform.msi_priv_data);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user