[S390] cio: remove subchannel init_name
authorSebastian Ott <sebott@linux.vnet.ibm.com>
Fri, 11 Sep 2009 08:28:25 +0000 (10:28 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Fri, 11 Sep 2009 08:29:40 +0000 (10:29 +0200)
We used the init_name to set the console subchannels name early
at the boot stage. With the patch cio: fix memleak in subchannel validation
we moved the name setting to the point where we actually register the
console subchannel. At this time we can do dynamic allocations and therefore
use dev_set_name.

Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
drivers/s390/cio/cio.c
drivers/s390/cio/cio.h
drivers/s390/cio/css.c

index fe18ef691bb781ee3ed6666353d2119736bd1490..138124fcfcade55165aca7ee1088cad8d7ec74d7 100644 (file)
@@ -667,7 +667,6 @@ void __irq_entry do_IRQ(struct pt_regs *regs)
 
 #ifdef CONFIG_CCW_CONSOLE
 static struct subchannel console_subchannel;
-static char console_sch_name[10] = "0.x.xxxx";
 static struct io_subchannel_private console_priv;
 static int console_subchannel_in_use;
 
@@ -854,12 +853,6 @@ cio_get_console_subchannel(void)
        return &console_subchannel;
 }
 
-const char *cio_get_console_sch_name(struct subchannel_id schid)
-{
-       snprintf(console_sch_name, 10, "0.%x.%04x", schid.ssid, schid.sch_no);
-       return (const char *)console_sch_name;
-}
-
 #endif
 static int
 __disable_subchannel_easy(struct subchannel_id schid, struct schib *schib)
index 5150fba742ac24f3569d1199b0d1567cd1588522..883e19d83e43e26236b7744a79e956378c9bbc42 100644 (file)
@@ -133,14 +133,12 @@ extern int cio_is_console(struct subchannel_id);
 extern struct subchannel *cio_get_console_subchannel(void);
 extern spinlock_t * cio_get_console_lock(void);
 extern void *cio_get_console_priv(void);
-extern const char *cio_get_console_sch_name(struct subchannel_id schid);
 extern const char *cio_get_console_cdev_name(struct subchannel *sch);
 #else
 #define cio_is_console(schid) 0
 #define cio_get_console_subchannel() NULL
 #define cio_get_console_lock() NULL
 #define cio_get_console_priv() NULL
-#define cio_get_console_sch_name(schid) NULL
 #define cio_get_console_cdev_name(sch) NULL
 #endif
 
index 0dc6f6d26287d0f12ca97537b53ad7ca4d34bea6..0a3ce6522f0bfce9c68913c6aad8d804955b4cb9 100644 (file)
@@ -183,11 +183,8 @@ static int css_sch_device_register(struct subchannel *sch)
        int ret;
 
        mutex_lock(&sch->reg_mutex);
-       if (cio_is_console(sch->schid))
-               sch->dev.init_name = cio_get_console_sch_name(sch->schid);
-       else
-               dev_set_name(&sch->dev, "0.%x.%04x", sch->schid.ssid,
-                            sch->schid.sch_no);
+       dev_set_name(&sch->dev, "0.%x.%04x", sch->schid.ssid,
+                    sch->schid.sch_no);
        ret = device_register(&sch->dev);
        mutex_unlock(&sch->reg_mutex);
        return ret;