diff --git a/common/console.c b/common/console.c index aa9e3ce..f982366 100644 --- a/common/console.c +++ b/common/console.c @@ -170,8 +170,14 @@ 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/drivers/serial/serial_imx.c b/drivers/serial/serial_imx.c index cb10627..474bfaf 100644 --- a/drivers/serial/serial_imx.c +++ b/drivers/serial/serial_imx.c @@ -313,6 +313,7 @@ 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 @@ 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); diff --git a/drivers/usb/gadget/u_serial.c b/drivers/usb/gadget/u_serial.c index c2072dc..375ec65 100644 --- a/drivers/usb/gadget/u_serial.c +++ b/drivers/usb/gadget/u_serial.c @@ -483,7 +483,12 @@ 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; diff --git a/include/console.h b/include/console.h index 6da0199..7535a56 100644 --- a/include/console.h +++ b/include/console.h @@ -44,6 +44,8 @@ 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; diff --git a/net/netconsole.c b/net/netconsole.c index 021820b..c817107 100644 --- a/net/netconsole.c +++ b/net/netconsole.c @@ -141,6 +141,7 @@ cdev->tstc = nc_tstc; cdev->putc = nc_putc; cdev->getc = nc_getc; + cdev->devname = "netconsole"; g_priv = priv;