Commit 529192f3 authored by Cornelia Huck's avatar Cornelia Huck Committed by Martin Schwidefsky

[S390] Use dev->groups for adding/removing the subchannel attribute group.

Signed-off-by: default avatarCornelia Huck <cornelia.huck@de.ibm.com>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent d7b5a4c9
...@@ -137,6 +137,7 @@ css_register_subchannel(struct subchannel *sch) ...@@ -137,6 +137,7 @@ css_register_subchannel(struct subchannel *sch)
sch->dev.parent = &css[0]->device; sch->dev.parent = &css[0]->device;
sch->dev.bus = &css_bus_type; sch->dev.bus = &css_bus_type;
sch->dev.release = &css_subchannel_release; sch->dev.release = &css_subchannel_release;
sch->dev.groups = subch_attr_groups;
/* make it known to the system */ /* make it known to the system */
ret = css_sch_device_register(sch); ret = css_sch_device_register(sch);
...@@ -146,10 +147,6 @@ css_register_subchannel(struct subchannel *sch) ...@@ -146,10 +147,6 @@ css_register_subchannel(struct subchannel *sch)
return ret; return ret;
} }
css_get_ssd_info(sch); css_get_ssd_info(sch);
ret = subchannel_add_files(&sch->dev);
if (ret)
printk(KERN_WARNING "%s: could not add attributes to %s\n",
__func__, sch->dev.bus_id);
return ret; return ret;
} }
......
...@@ -195,4 +195,5 @@ extern struct workqueue_struct *slow_path_wq; ...@@ -195,4 +195,5 @@ extern struct workqueue_struct *slow_path_wq;
extern struct work_struct slow_path_work; extern struct work_struct slow_path_work;
int subchannel_add_files (struct device *); int subchannel_add_files (struct device *);
extern struct attribute_group *subch_attr_groups[];
#endif #endif
...@@ -235,9 +235,11 @@ chpids_show (struct device * dev, struct device_attribute *attr, char * buf) ...@@ -235,9 +235,11 @@ chpids_show (struct device * dev, struct device_attribute *attr, char * buf)
ssize_t ret = 0; ssize_t ret = 0;
int chp; int chp;
for (chp = 0; chp < 8; chp++) if (ssd)
ret += sprintf (buf+ret, "%02x ", ssd->chpid[chp]); for (chp = 0; chp < 8; chp++)
ret += sprintf (buf+ret, "%02x ", ssd->chpid[chp]);
else
ret += sprintf (buf, "n/a");
ret += sprintf (buf+ret, "\n"); ret += sprintf (buf+ret, "\n");
return min((ssize_t)PAGE_SIZE, ret); return min((ssize_t)PAGE_SIZE, ret);
} }
...@@ -531,10 +533,10 @@ static struct attribute_group subch_attr_group = { ...@@ -531,10 +533,10 @@ static struct attribute_group subch_attr_group = {
.attrs = subch_attrs, .attrs = subch_attrs,
}; };
int subchannel_add_files (struct device *dev) struct attribute_group *subch_attr_groups[] = {
{ &subch_attr_group,
return sysfs_create_group(&dev->kobj, &subch_attr_group); NULL,
} };
static struct attribute * ccwdev_attrs[] = { static struct attribute * ccwdev_attrs[] = {
&dev_attr_devtype.attr, &dev_attr_devtype.attr,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment