USB: phy: fsl-usb: convert platform driver to use dev_groups
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 15 Aug 2019 12:59:03 +0000 (14:59 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 16 Aug 2019 10:33:18 +0000 (12:33 +0200)
Platform drivers now have the option to have the platform core create
and remove any needed sysfs attribute files.  So take advantage of that
and do not register "by hand" any sysfs files.

Acked-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Link: https://lore.kernel.org/r/20190815125903.GA17065@kroah.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/phy/phy-fsl-usb.c

index f7c96d209eda78a73b812685a931c59b53a1a6c8..f6a037b5e9ef22d1b24a875ce06371b236c8038d 100644 (file)
@@ -1043,6 +1043,11 @@ static ssize_t show_fsl_usb2_otg_state(struct device *dev,
 
 static DEVICE_ATTR(fsl_usb2_otg_state, S_IRUGO, show_fsl_usb2_otg_state, NULL);
 
+static struct attribute *fsl_otg_attrs[] = {
+       &dev_attr_fsl_usb2_otg_state.attr,
+       NULL,
+};
+ATTRIBUTE_GROUPS(fsl_otg);
 
 /* Char driver interface to control some OTG input */
 
@@ -1132,10 +1137,6 @@ static int fsl_otg_probe(struct platform_device *pdev)
                return ret;
        }
 
-       ret = device_create_file(&pdev->dev, &dev_attr_fsl_usb2_otg_state);
-       if (ret)
-               dev_warn(&pdev->dev, "Can't register sysfs attribute\n");
-
        return ret;
 }
 
@@ -1152,8 +1153,6 @@ static int fsl_otg_remove(struct platform_device *pdev)
        kfree(fsl_otg_dev->phy.otg);
        kfree(fsl_otg_dev);
 
-       device_remove_file(&pdev->dev, &dev_attr_fsl_usb2_otg_state);
-
        unregister_chrdev(FSL_OTG_MAJOR, FSL_OTG_NAME);
 
        if (pdata->exit)
@@ -1168,6 +1167,7 @@ struct platform_driver fsl_otg_driver = {
        .driver = {
                .name = driver_name,
                .owner = THIS_MODULE,
+               .dev_groups = fsl_otg_groups,
        },
 };