ide: convert bus code to use dev_groups

The dev_attrs field of struct bus_type is going away soon, dev_groups
should be used instead.  This converts the ide bus code to use the
correct field.

Acked-by: David S. Miller <davem@davemloft.net>
Cc: <linux-ide@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Greg Kroah-Hartman 2013-10-07 18:27:35 -07:00
parent 0017314689
commit fb3fed7926
3 changed files with 28 additions and 11 deletions

View File

@ -25,6 +25,7 @@ static ssize_t media_show(struct device *dev, struct device_attribute *attr,
ide_drive_t *drive = to_ide_device(dev); ide_drive_t *drive = to_ide_device(dev);
return sprintf(buf, "%s\n", ide_media_string(drive)); return sprintf(buf, "%s\n", ide_media_string(drive));
} }
static DEVICE_ATTR_RO(media);
static ssize_t drivename_show(struct device *dev, struct device_attribute *attr, static ssize_t drivename_show(struct device *dev, struct device_attribute *attr,
char *buf) char *buf)
@ -32,6 +33,7 @@ static ssize_t drivename_show(struct device *dev, struct device_attribute *attr,
ide_drive_t *drive = to_ide_device(dev); ide_drive_t *drive = to_ide_device(dev);
return sprintf(buf, "%s\n", drive->name); return sprintf(buf, "%s\n", drive->name);
} }
static DEVICE_ATTR_RO(drivename);
static ssize_t modalias_show(struct device *dev, struct device_attribute *attr, static ssize_t modalias_show(struct device *dev, struct device_attribute *attr,
char *buf) char *buf)
@ -39,6 +41,7 @@ static ssize_t modalias_show(struct device *dev, struct device_attribute *attr,
ide_drive_t *drive = to_ide_device(dev); ide_drive_t *drive = to_ide_device(dev);
return sprintf(buf, "ide:m-%s\n", ide_media_string(drive)); return sprintf(buf, "ide:m-%s\n", ide_media_string(drive));
} }
static DEVICE_ATTR_RO(modalias);
static ssize_t model_show(struct device *dev, struct device_attribute *attr, static ssize_t model_show(struct device *dev, struct device_attribute *attr,
char *buf) char *buf)
@ -46,6 +49,7 @@ static ssize_t model_show(struct device *dev, struct device_attribute *attr,
ide_drive_t *drive = to_ide_device(dev); ide_drive_t *drive = to_ide_device(dev);
return sprintf(buf, "%s\n", (char *)&drive->id[ATA_ID_PROD]); return sprintf(buf, "%s\n", (char *)&drive->id[ATA_ID_PROD]);
} }
static DEVICE_ATTR_RO(model);
static ssize_t firmware_show(struct device *dev, struct device_attribute *attr, static ssize_t firmware_show(struct device *dev, struct device_attribute *attr,
char *buf) char *buf)
@ -53,6 +57,7 @@ static ssize_t firmware_show(struct device *dev, struct device_attribute *attr,
ide_drive_t *drive = to_ide_device(dev); ide_drive_t *drive = to_ide_device(dev);
return sprintf(buf, "%s\n", (char *)&drive->id[ATA_ID_FW_REV]); return sprintf(buf, "%s\n", (char *)&drive->id[ATA_ID_FW_REV]);
} }
static DEVICE_ATTR_RO(firmware);
static ssize_t serial_show(struct device *dev, struct device_attribute *attr, static ssize_t serial_show(struct device *dev, struct device_attribute *attr,
char *buf) char *buf)
@ -60,16 +65,28 @@ static ssize_t serial_show(struct device *dev, struct device_attribute *attr,
ide_drive_t *drive = to_ide_device(dev); ide_drive_t *drive = to_ide_device(dev);
return sprintf(buf, "%s\n", (char *)&drive->id[ATA_ID_SERNO]); return sprintf(buf, "%s\n", (char *)&drive->id[ATA_ID_SERNO]);
} }
static DEVICE_ATTR(serial, 0400, serial_show, NULL);
struct device_attribute ide_dev_attrs[] = { static DEVICE_ATTR(unload_heads, 0644, ide_park_show, ide_park_store);
__ATTR_RO(media),
__ATTR_RO(drivename), static struct attribute *ide_attrs[] = {
__ATTR_RO(modalias), &dev_attr_media.attr,
__ATTR_RO(model), &dev_attr_drivename.attr,
__ATTR_RO(firmware), &dev_attr_modalias.attr,
__ATTR(serial, 0400, serial_show, NULL), &dev_attr_model.attr,
__ATTR(unload_heads, 0644, ide_park_show, ide_park_store), &dev_attr_firmware.attr,
__ATTR_NULL &dev_attr_serial.attr,
&dev_attr_unload_heads.attr,
NULL,
};
static const struct attribute_group ide_attr_group = {
.attrs = ide_attrs,
};
const struct attribute_group *ide_dev_groups[] = {
&ide_attr_group,
NULL,
}; };
static ssize_t store_delete_devices(struct device *portdev, static ssize_t store_delete_devices(struct device *portdev,

View File

@ -158,7 +158,7 @@ struct bus_type ide_bus_type = {
.probe = generic_ide_probe, .probe = generic_ide_probe,
.remove = generic_ide_remove, .remove = generic_ide_remove,
.shutdown = generic_ide_shutdown, .shutdown = generic_ide_shutdown,
.dev_attrs = ide_dev_attrs, .dev_groups = ide_dev_groups,
.suspend = generic_ide_suspend, .suspend = generic_ide_suspend,
.resume = generic_ide_resume, .resume = generic_ide_resume,
}; };

View File

@ -1514,7 +1514,7 @@ static inline void ide_set_max_pio(ide_drive_t *drive)
char *ide_media_string(ide_drive_t *); char *ide_media_string(ide_drive_t *);
extern struct device_attribute ide_dev_attrs[]; extern const struct attribute_group *ide_dev_groups[];
extern struct bus_type ide_bus_type; extern struct bus_type ide_bus_type;
extern struct class *ide_port_class; extern struct class *ide_port_class;