summaryrefslogtreecommitdiffstats
path: root/drivers/serial/stm-serial.c
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2012-02-25 14:30:52 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2012-02-25 15:16:14 +0100
commit6dfb9fec5f2016025bbff5a75f216f6cf8fbae1c (patch)
treec5599f87b82adabc2ad08d97be3ba08498fee60d /drivers/serial/stm-serial.c
parent0f7b86f1cbba9f7ecd3004107ab40fa96e122032 (diff)
downloadbarebox-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.c9
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 = {