diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2014-07-31 10:38:08 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2014-09-16 08:32:10 +0200 |
commit | ed6e965824303255cacc1c1a195d3684caa26bce (patch) | |
tree | 26e2b1b78498675ceae4dd2e990836c26ec1d5ec /drivers/serial | |
parent | 5bdc82c54a3306f2ae151a00f2df54f9240395b8 (diff) | |
download | barebox-ed6e965824303255cacc1c1a195d3684caa26bce.tar.gz barebox-ed6e965824303255cacc1c1a195d3684caa26bce.tar.xz |
resource: Let dev_request_mem_region return an error pointer
For all users fix or add the error check.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/serial')
-rw-r--r-- | drivers/serial/atmel.c | 3 | ||||
-rw-r--r-- | drivers/serial/serial_ar933x.c | 3 | ||||
-rw-r--r-- | drivers/serial/serial_auart.c | 2 | ||||
-rw-r--r-- | drivers/serial/serial_cadence.c | 4 | ||||
-rw-r--r-- | drivers/serial/serial_mpc5xxx.c | 3 | ||||
-rw-r--r-- | drivers/serial/serial_ns16550.c | 2 | ||||
-rw-r--r-- | drivers/serial/stm-serial.c | 2 |
7 files changed, 17 insertions, 2 deletions
diff --git a/drivers/serial/atmel.c b/drivers/serial/atmel.c index c2a5d33b1b..1f406925a3 100644 --- a/drivers/serial/atmel.c +++ b/drivers/serial/atmel.c @@ -399,6 +399,9 @@ static int atmel_serial_init_port(struct console_device *cdev) struct atmel_uart_port *uart = to_atmel_uart_port(cdev); uart->base = dev_request_mem_region(dev, 0); + if (IS_ERR(uart->base)) + return PTR_ERR(uart->base); + uart->clk = clk_get(dev, "usart"); clk_enable(uart->clk); uart->uartclk = clk_get_rate(uart->clk); diff --git a/drivers/serial/serial_ar933x.c b/drivers/serial/serial_ar933x.c index 27cccba119..51184aaae5 100644 --- a/drivers/serial/serial_ar933x.c +++ b/drivers/serial/serial_ar933x.c @@ -163,6 +163,9 @@ static int ar933x_serial_probe(struct device_d *dev) cdev = xzalloc(sizeof(struct console_device)); priv = xzalloc(sizeof(struct ar933x_uart_priv)); priv->base = dev_request_mem_region(dev, 0); + if (IS_ERR(priv->base)) + return PTR_ERR(priv->base); + dev->priv = priv; cdev->dev = dev; diff --git a/drivers/serial/serial_auart.c b/drivers/serial/serial_auart.c index 19805166bb..ae6c5b8219 100644 --- a/drivers/serial/serial_auart.c +++ b/drivers/serial/serial_auart.c @@ -196,6 +196,8 @@ static int auart_serial_probe(struct device_d *dev) dev->priv = priv; priv->base = dev_request_mem_region(dev, 0); + if (IS_ERR(priv->base)) + return PTR_ERR(priv->base); priv->clk = clk_get(dev, NULL); if (IS_ERR(priv->clk)) return PTR_ERR(priv->clk); diff --git a/drivers/serial/serial_cadence.c b/drivers/serial/serial_cadence.c index a1b76d07dc..10df50642a 100644 --- a/drivers/serial/serial_cadence.c +++ b/drivers/serial/serial_cadence.c @@ -240,8 +240,8 @@ static int cadence_serial_probe(struct device_d *dev) clk_set_rate(priv->clk, clk_get_rate(priv->clk) / 8); priv->regs = dev_request_mem_region(dev, 0); - if (!priv->regs) { - ret = -EBUSY; + if (IS_ERR(priv->regs)) { + ret = PTR_ERR(priv->regs); goto err_free; } diff --git a/drivers/serial/serial_mpc5xxx.c b/drivers/serial/serial_mpc5xxx.c index 18aca8736d..f48255ba75 100644 --- a/drivers/serial/serial_mpc5xxx.c +++ b/drivers/serial/serial_mpc5xxx.c @@ -36,6 +36,7 @@ #include <console.h> #include <xfuncs.h> #include <mach/clocks.h> +#include <linux/err.h> static int __mpc5xxx_serial_setbaudrate(struct mpc5xxx_psc *psc, int baudrate) { @@ -148,6 +149,8 @@ static int mpc5xxx_serial_probe(struct device_d *dev) cdev = xzalloc(sizeof(struct console_device)); dev->priv = dev_request_mem_region(dev, 0); + if (IS_ERR(dev->priv)) + return PTR_ERR(dev->priv); cdev->dev = dev; cdev->tstc = mpc5xxx_serial_tstc; cdev->putc = mpc5xxx_serial_putc; diff --git a/drivers/serial/serial_ns16550.c b/drivers/serial/serial_ns16550.c index dd0986c326..78a674a823 100644 --- a/drivers/serial/serial_ns16550.c +++ b/drivers/serial/serial_ns16550.c @@ -321,6 +321,8 @@ static int ns16550_init_iomem(struct device_d *dev, struct ns16550_priv *priv) return PTR_ERR(res); priv->mmiobase = dev_request_mem_region(dev, 0); + if (IS_ERR(priv->mmiobase)) + return PTR_ERR(priv->mmiobase); width = res->flags & IORESOURCE_MEM_TYPE_MASK; switch (width) { diff --git a/drivers/serial/stm-serial.c b/drivers/serial/stm-serial.c index 3fec1ceeff..39ff7ae942 100644 --- a/drivers/serial/stm-serial.c +++ b/drivers/serial/stm-serial.c @@ -162,6 +162,8 @@ static int stm_serial_probe(struct device_d *dev) dev->priv = priv; priv->base = dev_request_mem_region(dev, 0); + if (IS_ERR(priv->base)) + return PTR_ERR(priv->base); priv->clk = clk_get(dev, NULL); if (IS_ERR(priv->clk)) return PTR_ERR(priv->clk); |