From 9c4f107c35a77c12a70f5b9aa36600a75b93b358 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Tue, 8 Jul 2014 15:02:53 +0200 Subject: console: Allow persistent device names Add a devname field to struct console_device so that the device name can be set by the driver. This makes it possible to have persistent device names. Signed-off-by: Sascha Hauer --- common/console.c | 10 ++++++++-- include/console.h | 2 ++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/common/console.c b/common/console.c index aa9e3ce0f5..f9823661f0 100644 --- a/common/console.c +++ b/common/console.c @@ -170,8 +170,14 @@ int console_register(struct console_device *newcdev) if (initialized == CONSOLE_UNINITIALIZED) console_init_early(); - dev->id = DEVICE_ID_DYNAMIC; - strcpy(dev->name, "cs"); + if (newcdev->devname) { + dev->id = DEVICE_ID_SINGLE; + strcpy(dev->name, newcdev->devname); + } else { + dev->id = DEVICE_ID_DYNAMIC; + strcpy(dev->name, "cs"); + } + if (newcdev->dev) dev->parent = newcdev->dev; platform_device_register(dev); diff --git a/include/console.h b/include/console.h index 6da0199aba..7535a56121 100644 --- a/include/console.h +++ b/include/console.h @@ -44,6 +44,8 @@ struct console_device { void (*flush)(struct console_device *cdev); int (*set_mode)(struct console_device *cdev, enum console_mode mode); + char *devname; + struct list_head list; unsigned char f_active; -- cgit v1.2.3 From 3843bfd0ab77eaf125ca617922927b61fc8ded74 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Tue, 8 Jul 2014 15:04:33 +0200 Subject: serial: imx: Determine device name from device tree Signed-off-by: Sascha Hauer --- drivers/serial/serial_imx.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/serial/serial_imx.c b/drivers/serial/serial_imx.c index cb106271d5..474bfafff0 100644 --- a/drivers/serial/serial_imx.c +++ b/drivers/serial/serial_imx.c @@ -313,6 +313,7 @@ static int imx_serial_probe(struct device_d *dev) uint32_t val; struct imx_serial_devtype_data *devtype; int ret; + const char *devname; ret = dev_get_drvdata(dev, (unsigned long *)&devtype); if (ret) @@ -337,6 +338,9 @@ static int imx_serial_probe(struct device_d *dev) cdev->flush = imx_serial_flush; cdev->setbrg = imx_serial_setbaudrate; cdev->linux_console_name = "ttymxc"; + devname = of_alias_get(dev->device_node); + if (devname) + cdev->devname = xstrdup(devname); imx_serial_init_port(cdev); -- cgit v1.2.3 From 8eacfa71abcba857ab9aa1dcad49e2ba7d83406b Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Tue, 8 Jul 2014 15:05:17 +0200 Subject: netconsole: rename console to "netconsole" So that it can be used without guessing the name first. Signed-off-by: Sascha Hauer --- net/netconsole.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/netconsole.c b/net/netconsole.c index 021820b13a..c817107296 100644 --- a/net/netconsole.c +++ b/net/netconsole.c @@ -141,6 +141,7 @@ static int netconsole_init(void) cdev->tstc = nc_tstc; cdev->putc = nc_putc; cdev->getc = nc_getc; + cdev->devname = "netconsole"; g_priv = priv; -- cgit v1.2.3 From c053e2414c2a6c2de81cbbc4e49933042613191b Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Tue, 8 Jul 2014 15:06:02 +0200 Subject: usb: usbserial gadget: Add persistent device name Signed-off-by: Sascha Hauer --- drivers/usb/gadget/u_serial.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/usb/gadget/u_serial.c b/drivers/usb/gadget/u_serial.c index c2072dc6e9..375ec65141 100644 --- a/drivers/usb/gadget/u_serial.c +++ b/drivers/usb/gadget/u_serial.c @@ -483,7 +483,12 @@ int gserial_connect(struct gserial *gser, u8 port_num) cdev->getc = serial_getc; cdev->flush = serial_flush; cdev->setbrg = serial_setbaudrate; - console_register(cdev); + cdev->devname = "usbserial"; + + status = console_register(cdev); + if (status) + goto fail_out; + mycdev = cdev; return status; -- cgit v1.2.3