|
@@ -1250,8 +1250,7 @@ static int io_subchannel_probe(struct subchannel *sch)
|
|
|
unsigned long flags;
|
|
|
struct ccw_dev_id dev_id;
|
|
|
|
|
|
- cdev = sch_get_cdev(sch);
|
|
|
- if (cdev) {
|
|
|
+ if (cio_is_console(sch->schid)) {
|
|
|
rc = sysfs_create_group(&sch->dev.kobj,
|
|
|
&io_subchannel_attr_group);
|
|
|
if (rc)
|
|
@@ -1260,13 +1259,13 @@ static int io_subchannel_probe(struct subchannel *sch)
|
|
|
"0.%x.%04x (rc=%d)\n",
|
|
|
sch->schid.ssid, sch->schid.sch_no, rc);
|
|
|
/*
|
|
|
- * This subchannel already has an associated ccw_device.
|
|
|
+ * The console subchannel already has an associated ccw_device.
|
|
|
* Throw the delayed uevent for the subchannel, register
|
|
|
- * the ccw_device and exit. This happens for all early
|
|
|
- * devices, e.g. the console.
|
|
|
+ * the ccw_device and exit.
|
|
|
*/
|
|
|
dev_set_uevent_suppress(&sch->dev, 0);
|
|
|
kobject_uevent(&sch->dev.kobj, KOBJ_ADD);
|
|
|
+ cdev = sch_get_cdev(sch);
|
|
|
cdev->dev.groups = ccwdev_attr_groups;
|
|
|
device_initialize(&cdev->dev);
|
|
|
ccw_device_register(cdev);
|