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.

Cc: Felipe Balbi <ba...@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
---
v2: fix build errors caught by 0-day

 drivers/usb/phy/phy-fsl-usb.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/usb/phy/phy-fsl-usb.c b/drivers/usb/phy/phy-fsl-usb.c
index f7c96d209eda..f6a037b5e9ef 100644
--- a/drivers/usb/phy/phy-fsl-usb.c
+++ b/drivers/usb/phy/phy-fsl-usb.c
@@ -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,
        },
 };
 
-- 
2.22.1

Reply via email to