]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/s390/cio/device.c
Merge branch 'docs' of git://git.lwn.net/linux-2.6
[linux-2.6-omap-h63xx.git] / drivers / s390 / cio / device.c
index 95b92dfec5a815435630b1e7692591aa2dedad0c..4e78c82194b47520c271be8617ac5202644d395c 100644 (file)
@@ -1035,8 +1035,11 @@ io_subchannel_recog(struct ccw_device *cdev, struct subchannel *sch)
        init_timer(&priv->timer);
 
        /* Set an initial name for the device. */
-       snprintf (cdev->dev.bus_id, BUS_ID_SIZE, "0.%x.%04x",
-                 sch->schid.ssid, sch->schib.pmcw.dev);
+       if (cio_is_console(sch->schid))
+               cdev->dev.init_name = cio_get_console_cdev_name(sch);
+       else
+               dev_set_name(&cdev->dev, "0.%x.%04x",
+                            sch->schid.ssid, sch->schib.pmcw.dev);
 
        /* Increase counter of devices currently in recognition. */
        atomic_inc(&ccw_device_init_count);
@@ -1526,7 +1529,7 @@ void ccw_device_set_notoper(struct ccw_device *cdev)
        struct subchannel *sch = to_subchannel(cdev->dev.parent);
 
        CIO_TRACE_EVENT(2, "notoper");
-       CIO_TRACE_EVENT(2, sch->dev.bus_id);
+       CIO_TRACE_EVENT(2, dev_name(&sch->dev));
        ccw_device_set_timeout(cdev, 0);
        cio_disable_subchannel(sch);
        cdev->private->state = DEV_STATE_NOT_OPER;
@@ -1625,6 +1628,7 @@ static int io_subchannel_sch_event(struct subchannel *sch, int slow)
 
 #ifdef CONFIG_CCW_CONSOLE
 static struct ccw_device console_cdev;
+static char console_cdev_name[10] = "0.x.xxxx";
 static struct ccw_device_private console_private;
 static int console_cdev_in_use;
 
@@ -1695,6 +1699,14 @@ ccw_device_probe_console(void)
        console_cdev.online = 1;
        return &console_cdev;
 }
+
+
+const char *cio_get_console_cdev_name(struct subchannel *sch)
+{
+       snprintf(console_cdev_name, 10, "0.%x.%04x",
+                sch->schid.ssid, sch->schib.pmcw.dev);
+       return (const char *)console_cdev_name;
+}
 #endif
 
 /*