diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2012-02-25 14:30:52 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2012-02-25 15:16:14 +0100 |
commit | 6dfb9fec5f2016025bbff5a75f216f6cf8fbae1c (patch) | |
tree | c5599f87b82adabc2ad08d97be3ba08498fee60d /drivers/serial/stm-serial.c | |
parent | 0f7b86f1cbba9f7ecd3004107ab40fa96e122032 (diff) | |
download | barebox-6dfb9fec5f2016025bbff5a75f216f6cf8fbae1c.tar.gz barebox-6dfb9fec5f2016025bbff5a75f216f6cf8fbae1c.tar.xz |
serial stm: fix unregister
- Add missing console_unregister call
- use dev->priv instead of dev->type_data
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/serial/stm-serial.c')
-rw-r--r-- | drivers/serial/stm-serial.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/serial/stm-serial.c b/drivers/serial/stm-serial.c index 1563d2a93b..f6dcb8447c 100644 --- a/drivers/serial/stm-serial.c +++ b/drivers/serial/stm-serial.c @@ -31,6 +31,7 @@ #include <notifier.h> #include <gpio.h> #include <io.h> +#include <malloc.h> #include <mach/imx-regs.h> #include <mach/clock.h> @@ -159,7 +160,7 @@ static int stm_serial_probe(struct device_d *dev) cdev->setbrg = stm_serial_setbaudrate; cdev->dev = dev; - dev->type_data = cdev; + dev->priv = priv; priv->base = dev_request_mem_region(dev, 0); stm_serial_init_port(priv); @@ -177,9 +178,11 @@ static int stm_serial_probe(struct device_d *dev) static void stm_serial_remove(struct device_d *dev) { - struct console_device *cdev = dev->type_data; + struct stm_priv *priv = dev->priv; - stm_serial_flush(cdev); + stm_serial_flush(&priv->cdev); + console_unregister(&priv->cdev); + free(priv); } static struct driver_d stm_serial_driver = { |