aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Ott <sebott@linux.vnet.ibm.com>2009-09-11 04:28:25 -0400
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2009-09-11 04:29:40 -0400
commit6ee4fec6be06f7d138860b37cba58982cc3ccb16 (patch)
tree51e7e2e1223d95f3c2d7a4a33c8f84758fe8690c
parentab6aae09024be1b039df441fa1b64dbe092d0acb (diff)
[S390] cio: remove subchannel init_name
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>
-rw-r--r--drivers/s390/cio/cio.c7
-rw-r--r--drivers/s390/cio/cio.h2
-rw-r--r--drivers/s390/cio/css.c7
3 files changed, 2 insertions, 14 deletions
diff --git a/drivers/s390/cio/cio.c b/drivers/s390/cio/cio.c
index fe18ef691bb7..138124fcfcad 100644
--- a/drivers/s390/cio/cio.c
+++ b/drivers/s390/cio/cio.c
@@ -667,7 +667,6 @@ void __irq_entry do_IRQ(struct pt_regs *regs)
667 667
668#ifdef CONFIG_CCW_CONSOLE 668#ifdef CONFIG_CCW_CONSOLE
669static struct subchannel console_subchannel; 669static struct subchannel console_subchannel;
670static char console_sch_name[10] = "0.x.xxxx";
671static struct io_subchannel_private console_priv; 670static struct io_subchannel_private console_priv;
672static int console_subchannel_in_use; 671static int console_subchannel_in_use;
673 672
@@ -854,12 +853,6 @@ cio_get_console_subchannel(void)
854 return &console_subchannel; 853 return &console_subchannel;
855} 854}
856 855
857const char *cio_get_console_sch_name(struct subchannel_id schid)
858{
859 snprintf(console_sch_name, 10, "0.%x.%04x", schid.ssid, schid.sch_no);
860 return (const char *)console_sch_name;
861}
862
863#endif 856#endif
864static int 857static int
865__disable_subchannel_easy(struct subchannel_id schid, struct schib *schib) 858__disable_subchannel_easy(struct subchannel_id schid, struct schib *schib)
diff --git a/drivers/s390/cio/cio.h b/drivers/s390/cio/cio.h
index 5150fba742ac..883e19d83e43 100644
--- a/drivers/s390/cio/cio.h
+++ b/drivers/s390/cio/cio.h
@@ -133,14 +133,12 @@ extern int cio_is_console(struct subchannel_id);
133extern struct subchannel *cio_get_console_subchannel(void); 133extern struct subchannel *cio_get_console_subchannel(void);
134extern spinlock_t * cio_get_console_lock(void); 134extern spinlock_t * cio_get_console_lock(void);
135extern void *cio_get_console_priv(void); 135extern void *cio_get_console_priv(void);
136extern const char *cio_get_console_sch_name(struct subchannel_id schid);
137extern const char *cio_get_console_cdev_name(struct subchannel *sch); 136extern const char *cio_get_console_cdev_name(struct subchannel *sch);
138#else 137#else
139#define cio_is_console(schid) 0 138#define cio_is_console(schid) 0
140#define cio_get_console_subchannel() NULL 139#define cio_get_console_subchannel() NULL
141#define cio_get_console_lock() NULL 140#define cio_get_console_lock() NULL
142#define cio_get_console_priv() NULL 141#define cio_get_console_priv() NULL
143#define cio_get_console_sch_name(schid) NULL
144#define cio_get_console_cdev_name(sch) NULL 142#define cio_get_console_cdev_name(sch) NULL
145#endif 143#endif
146 144
diff --git a/drivers/s390/cio/css.c b/drivers/s390/cio/css.c
index 0dc6f6d26287..0a3ce6522f0b 100644
--- a/drivers/s390/cio/css.c
+++ b/drivers/s390/cio/css.c
@@ -183,11 +183,8 @@ static int css_sch_device_register(struct subchannel *sch)
183 int ret; 183 int ret;
184 184
185 mutex_lock(&sch->reg_mutex); 185 mutex_lock(&sch->reg_mutex);
186 if (cio_is_console(sch->schid)) 186 dev_set_name(&sch->dev, "0.%x.%04x", sch->schid.ssid,
187 sch->dev.init_name = cio_get_console_sch_name(sch->schid); 187 sch->schid.sch_no);
188 else
189 dev_set_name(&sch->dev, "0.%x.%04x", sch->schid.ssid,
190 sch->schid.sch_no);
191 ret = device_register(&sch->dev); 188 ret = device_register(&sch->dev);
192 mutex_unlock(&sch->reg_mutex); 189 mutex_unlock(&sch->reg_mutex);
193 return ret; 190 return ret;