platform-msi: Let the core code handle sysfs groups
authorThomas Gleixner <tglx@linutronix.de>
Fri, 10 Dec 2021 22:19:06 +0000 (23:19 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 16 Dec 2021 21:16:39 +0000 (22:16 +0100)
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
drivers/base/platform-msi.c

index 3da2688..5d50793 100644 (file)
@@ -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);
        }