diff options
Diffstat (limited to 'drivers/gpio')
-rw-r--r-- | drivers/gpio/gpio-clps711x.c | 10 | ||||
-rw-r--r-- | drivers/gpio/gpio-davinci.c | 4 | ||||
-rw-r--r-- | drivers/gpio/gpio-dw.c | 5 | ||||
-rw-r--r-- | drivers/gpio/gpio-generic.c | 12 | ||||
-rw-r--r-- | drivers/gpio/gpio-jz4740.c | 5 | ||||
-rw-r--r-- | drivers/gpio/gpio-malta-fpga-i2c.c | 4 | ||||
-rw-r--r-- | drivers/gpio/gpio-omap.c | 4 | ||||
-rw-r--r-- | drivers/gpio/gpio-tegra.c | 4 |
8 files changed, 30 insertions, 18 deletions
diff --git a/drivers/gpio/gpio-clps711x.c b/drivers/gpio/gpio-clps711x.c index 2f12439e0f..7d3f1ffb25 100644 --- a/drivers/gpio/gpio-clps711x.c +++ b/drivers/gpio/gpio-clps711x.c @@ -26,18 +26,22 @@ static int clps711x_gpio_probe(struct device_d *dev) return -ENODEV; dat = dev_request_mem_region(dev, 0); + if (IS_ERR(dat)) + return PTR_ERR(dat); + switch (id) { case 3: dir_inv = dev_request_mem_region(dev, 1); + if (IS_ERR(dir_inv)) + return PTR_ERR(dir_inv); break; default: dir = dev_request_mem_region(dev, 1); + if (IS_ERR(dir)) + return PTR_ERR(dir); break; } - if (!dat || (!dir && !dir_inv)) - return -EINVAL; - bgc = xzalloc(sizeof(struct bgpio_chip)); if (!bgc) return -ENOMEM; diff --git a/drivers/gpio/gpio-davinci.c b/drivers/gpio/gpio-davinci.c index 7d15b855f0..2b1d82b71c 100644 --- a/drivers/gpio/gpio-davinci.c +++ b/drivers/gpio/gpio-davinci.c @@ -163,9 +163,9 @@ static int davinci_gpio_probe(struct device_d *dev) chips = xzalloc((ngpio / 32 + 1) * sizeof(*chips)); gpio_base = dev_request_mem_region(dev, 0); - if (!gpio_base) { + if (IS_ERR(gpio_base)) { dev_err(dev, "could not get memory region\n"); - return -ENODEV; + return PTR_ERR(gpio_base); } for (i = 0, base = 0; base < ngpio; i++, base += 32) { diff --git a/drivers/gpio/gpio-dw.c b/drivers/gpio/gpio-dw.c index e46cc8e129..e582eb6d91 100644 --- a/drivers/gpio/gpio-dw.c +++ b/drivers/gpio/gpio-dw.c @@ -22,6 +22,7 @@ #include <io.h> #include <gpio.h> #include <init.h> +#include <linux/err.h> #define DW_GPIO_DR 0x0 #define DW_GPIO_DDR 0x4 @@ -114,8 +115,8 @@ static int dw_gpio_probe(struct device_d *dev) chip = xzalloc(sizeof(*chip)); chip->regs = dev_request_mem_region(dev, 0); - if (!chip->regs) - return -EBUSY; + if (IS_ERR(chip->regs)) + return PTR_ERR(chip->regs); chip->chip.ops = &imx_gpio_ops; if (dev->id < 0) { diff --git a/drivers/gpio/gpio-generic.c b/drivers/gpio/gpio-generic.c index 5c46282045..1524a3304b 100644 --- a/drivers/gpio/gpio-generic.c +++ b/drivers/gpio/gpio-generic.c @@ -13,7 +13,9 @@ #include <init.h> #include <malloc.h> +#include <linux/err.h> #include <linux/log2.h> +#include <linux/err.h> #include <linux/basic_mmio_gpio.h> static void bgpio_write8(void __iomem *reg, unsigned int data) @@ -311,7 +313,7 @@ static void __iomem *bgpio_map(struct device_d *dev, const char *name, *err = 0; r = dev_get_resource_by_name(dev, IORESOURCE_MEM, name); - if (!r) + if (IS_ERR(r)) return NULL; if (resource_size(r) != sane_sz) { @@ -320,8 +322,8 @@ static void __iomem *bgpio_map(struct device_d *dev, const char *name, } ret = request_iomem_region(dev_name(dev), r->start, r->end); - if (!ret) { - *err = -ENOMEM; + if (IS_ERR(ret)) { + *err = PTR_ERR(ret); return NULL; } @@ -343,8 +345,8 @@ static int bgpio_dev_probe(struct device_d *dev) struct bgpio_pdata *pdata = dev->platform_data; r = dev_get_resource_by_name(dev, IORESOURCE_MEM, "dat"); - if (!r) - return -EINVAL; + if (IS_ERR(r)) + return PTR_ERR(r); sz = resource_size(r); diff --git a/drivers/gpio/gpio-jz4740.c b/drivers/gpio/gpio-jz4740.c index 3c8efad8f3..f7e6781dc1 100644 --- a/drivers/gpio/gpio-jz4740.c +++ b/drivers/gpio/gpio-jz4740.c @@ -21,6 +21,7 @@ #include <io.h> #include <gpio.h> #include <malloc.h> +#include <linux/err.h> #define JZ_REG_GPIO_PIN 0x00 #define JZ_REG_GPIO_DATA 0x10 @@ -94,9 +95,9 @@ static int jz4740_gpio_probe(struct device_d *dev) int ret; base = dev_request_mem_region(dev, 0); - if (!base) { + if (IS_ERR(base)) { dev_err(dev, "could not get memory region\n"); - return -ENODEV; + return PTR_ERR(base); } jz4740_gpio = xzalloc(sizeof(*jz4740_gpio)); diff --git a/drivers/gpio/gpio-malta-fpga-i2c.c b/drivers/gpio/gpio-malta-fpga-i2c.c index d6995aad81..ff77b8c7ef 100644 --- a/drivers/gpio/gpio-malta-fpga-i2c.c +++ b/drivers/gpio/gpio-malta-fpga-i2c.c @@ -138,9 +138,9 @@ static int malta_i2c_gpio_probe(struct device_d *dev) int ret; gpio_base = dev_request_mem_region(dev, 0); - if (!gpio_base) { + if (IS_ERR(gpio_base)) { dev_err(dev, "could not get memory region\n"); - return -ENODEV; + return PTR_ERR(gpio_base); } sc = xzalloc(sizeof(*sc)); diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c index e66a614f21..ff31b15dcd 100644 --- a/drivers/gpio/gpio-omap.c +++ b/drivers/gpio/gpio-omap.c @@ -36,6 +36,7 @@ #include <errno.h> #include <gpio.h> #include <init.h> +#include <linux/err.h> #define OMAP_GPIO_OE 0x0034 #define OMAP_GPIO_DATAIN 0x0038 @@ -147,6 +148,9 @@ static int omap_gpio_probe(struct device_d *dev) omapgpio = xzalloc(sizeof(*omapgpio)); omapgpio->base = dev_request_mem_region(dev, 0); + if (IS_ERR(omapgpio->base)) + return PTR_ERR(omapgpio->base); + if (drvdata) omapgpio->base += drvdata->regofs; diff --git a/drivers/gpio/gpio-tegra.c b/drivers/gpio/gpio-tegra.c index bab32ee328..d4eea4e572 100644 --- a/drivers/gpio/gpio-tegra.c +++ b/drivers/gpio/gpio-tegra.c @@ -149,9 +149,9 @@ static int tegra_gpio_probe(struct device_d *dev) } gpio_base = dev_request_mem_region(dev, 0); - if (!gpio_base) { + if (IS_ERR(gpio_base)) { dev_err(dev, "could not get memory region\n"); - return -ENODEV; + return PTR_ERR(gpio_base); } for (i = 0; i < config->bank_count; i++) { |