{
        return sprintf(buf, "hsi:%s\n", dev_name(dev));
 }
+static DEVICE_ATTR_RO(modalias);
 
-static struct device_attribute hsi_bus_dev_attrs[] = {
-       __ATTR_RO(modalias),
-       __ATTR_NULL,
+static struct attribute *hsi_bus_dev_attrs[] = {
+       &dev_attr_modalias.attr,
+       NULL,
 };
+ATTRIBUTE_GROUPS(hsi_bus_dev);
 
 static int hsi_bus_uevent(struct device *dev, struct kobj_uevent_env *env)
 {
 
 static struct bus_type hsi_bus_type = {
        .name           = "hsi",
-       .dev_attrs      = hsi_bus_dev_attrs,
+       .dev_groups     = hsi_bus_dev_groups,
        .match          = hsi_bus_match,
        .uevent         = hsi_bus_uevent,
 };