[S390] Use dev->groups for adding/removing the subchannel attribute group.
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Cc: Greg KH <greg@kroah.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
committed by
Martin Schwidefsky
parent
d7b5a4c94f
commit
529192f3b9
@@ -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)
|
|||||||
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;
|
|||||||
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)
|
|||||||
ssize_t ret = 0;
|
ssize_t ret = 0;
|
||||||
int chp;
|
int chp;
|
||||||
|
|
||||||
|
if (ssd)
|
||||||
for (chp = 0; chp < 8; chp++)
|
for (chp = 0; chp < 8; chp++)
|
||||||
ret += sprintf (buf+ret, "%02x ", ssd->chpid[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 = {
|
|||||||
.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,
|
||||||
|
Reference in New Issue
Block a user