diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-10-29 04:02:15 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-10-29 04:02:20 -0400 |
commit | 9de09ace8d518141a4375e1d216ab64db4377799 (patch) | |
tree | da8e7a77f4ea91eb3bb73fc6da72ecf8c99e1c16 /drivers/s390/cio/device.c | |
parent | 1beee96bae0daf7f491356777c3080cc436950f5 (diff) | |
parent | 6d3f1e12f46a2f9a1bb7e7aa433df8dd31ce5647 (diff) |
Merge branch 'tracing/urgent' into tracing/core
Merge reason: Pick up fixes and move base from -rc1 to -rc5.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'drivers/s390/cio/device.c')
-rw-r--r-- | drivers/s390/cio/device.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/s390/cio/device.c b/drivers/s390/cio/device.c index f780bdd3a04e..2490b741e16a 100644 --- a/drivers/s390/cio/device.c +++ b/drivers/s390/cio/device.c | |||
@@ -1250,8 +1250,7 @@ static int io_subchannel_probe(struct subchannel *sch) | |||
1250 | unsigned long flags; | 1250 | unsigned long flags; |
1251 | struct ccw_dev_id dev_id; | 1251 | struct ccw_dev_id dev_id; |
1252 | 1252 | ||
1253 | cdev = sch_get_cdev(sch); | 1253 | if (cio_is_console(sch->schid)) { |
1254 | if (cdev) { | ||
1255 | rc = sysfs_create_group(&sch->dev.kobj, | 1254 | rc = sysfs_create_group(&sch->dev.kobj, |
1256 | &io_subchannel_attr_group); | 1255 | &io_subchannel_attr_group); |
1257 | if (rc) | 1256 | if (rc) |
@@ -1260,13 +1259,13 @@ static int io_subchannel_probe(struct subchannel *sch) | |||
1260 | "0.%x.%04x (rc=%d)\n", | 1259 | "0.%x.%04x (rc=%d)\n", |
1261 | sch->schid.ssid, sch->schid.sch_no, rc); | 1260 | sch->schid.ssid, sch->schid.sch_no, rc); |
1262 | /* | 1261 | /* |
1263 | * This subchannel already has an associated ccw_device. | 1262 | * The console subchannel already has an associated ccw_device. |
1264 | * Throw the delayed uevent for the subchannel, register | 1263 | * Throw the delayed uevent for the subchannel, register |
1265 | * the ccw_device and exit. This happens for all early | 1264 | * the ccw_device and exit. |
1266 | * devices, e.g. the console. | ||
1267 | */ | 1265 | */ |
1268 | dev_set_uevent_suppress(&sch->dev, 0); | 1266 | dev_set_uevent_suppress(&sch->dev, 0); |
1269 | kobject_uevent(&sch->dev.kobj, KOBJ_ADD); | 1267 | kobject_uevent(&sch->dev.kobj, KOBJ_ADD); |
1268 | cdev = sch_get_cdev(sch); | ||
1270 | cdev->dev.groups = ccwdev_attr_groups; | 1269 | cdev->dev.groups = ccwdev_attr_groups; |
1271 | device_initialize(&cdev->dev); | 1270 | device_initialize(&cdev->dev); |
1272 | ccw_device_register(cdev); | 1271 | ccw_device_register(cdev); |
@@ -1609,7 +1608,7 @@ int ccw_purge_blacklisted(void) | |||
1609 | return 0; | 1608 | return 0; |
1610 | } | 1609 | } |
1611 | 1610 | ||
1612 | static void device_set_disconnected(struct ccw_device *cdev) | 1611 | void ccw_device_set_disconnected(struct ccw_device *cdev) |
1613 | { | 1612 | { |
1614 | if (!cdev) | 1613 | if (!cdev) |
1615 | return; | 1614 | return; |
@@ -1705,7 +1704,7 @@ static int io_subchannel_sch_event(struct subchannel *sch, int slow) | |||
1705 | ccw_device_trigger_reprobe(cdev); | 1704 | ccw_device_trigger_reprobe(cdev); |
1706 | break; | 1705 | break; |
1707 | case DISC: | 1706 | case DISC: |
1708 | device_set_disconnected(cdev); | 1707 | ccw_device_set_disconnected(cdev); |
1709 | break; | 1708 | break; |
1710 | default: | 1709 | default: |
1711 | break; | 1710 | break; |