floppy: Avoid manual call of device_create_file()
authorTakashi Iwai <tiwai@suse.de>
Mon, 2 Feb 2015 16:08:45 +0000 (17:08 +0100)
committerJiri Kosina <jkosina@suse.cz>
Tue, 3 Feb 2015 12:00:36 +0000 (13:00 +0100)
Use the static attribute groups assigned to the device instead of
calling device_create_file() after the device registration.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/block/floppy.c

index 56d46ff..a08cda9 100644 (file)
@@ -4112,6 +4112,13 @@ static ssize_t floppy_cmos_show(struct device *dev,
 
 static DEVICE_ATTR(cmos, S_IRUGO, floppy_cmos_show, NULL);
 
+static struct attribute *floppy_dev_attrs[] = {
+       &dev_attr_cmos.attr,
+       NULL
+};
+
+ATTRIBUTE_GROUPS(floppy_dev);
+
 static void floppy_device_release(struct device *dev)
 {
 }
@@ -4324,16 +4331,12 @@ static int __init do_floppy_init(void)
                floppy_device[drive].name = floppy_device_name;
                floppy_device[drive].id = drive;
                floppy_device[drive].dev.release = floppy_device_release;
+               floppy_device[drive].dev.groups = floppy_dev_groups;
 
                err = platform_device_register(&floppy_device[drive]);
                if (err)
                        goto out_remove_drives;
 
-               err = device_create_file(&floppy_device[drive].dev,
-                                        &dev_attr_cmos);
-               if (err)
-                       goto out_unreg_platform_dev;
-
                /* to be cleaned up... */
                disks[drive]->private_data = (void *)(long)drive;
                disks[drive]->flags |= GENHD_FL_REMOVABLE;
@@ -4343,13 +4346,10 @@ static int __init do_floppy_init(void)
 
        return 0;
 
-out_unreg_platform_dev:
-       platform_device_unregister(&floppy_device[drive]);
 out_remove_drives:
        while (drive--) {
                if (floppy_available(drive)) {
                        del_gendisk(disks[drive]);
-                       device_remove_file(&floppy_device[drive].dev, &dev_attr_cmos);
                        platform_device_unregister(&floppy_device[drive]);
                }
        }
@@ -4594,7 +4594,6 @@ static void __exit floppy_module_exit(void)
 
                if (floppy_available(drive)) {
                        del_gendisk(disks[drive]);
-                       device_remove_file(&floppy_device[drive].dev, &dev_attr_cmos);
                        platform_device_unregister(&floppy_device[drive]);
                }
                blk_cleanup_queue(disks[drive]->queue);