From 8ee5479a28df0a3f3019419e46e9ee5c119a27bd Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Fri, 19 Feb 2016 09:18:43 +0100 Subject: driver: Fix return check of dev_request_mem_region dev_request_mem_region returns an ERR_PTR, fix places which check for a NULL pointer instead. This patch has been generated with this semantic patch, written by me and improved by Andrey Smirnov: // @@ expression e; expression e1; @@ e = dev_request_mem_region(...); ... -if (!e) - return e1; +if (IS_ERR(e)) + return PTR_ERR(e); @ rule1 @ expression e; @@ e = dev_request_mem_region(...); @@ expression rule1.e; identifier ret, label; constant errno; @@ if (!e) { ... ( - ret = -errno; + ret = PTR_ERR(e); ... goto label; | - return -errno; + return PTR_ERR(e); ) } @depends on rule1@ expression rule1.e; @@ - if (e == NULL) + if (IS_ERR(e)) { ... } // Signed-off-by: Sascha Hauer Signed-off-by: Andrey Smirnov --- drivers/gpio/gpio-orion.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'drivers/gpio') diff --git a/drivers/gpio/gpio-orion.c b/drivers/gpio/gpio-orion.c index 3deeac126f..5348395d58 100644 --- a/drivers/gpio/gpio-orion.c +++ b/drivers/gpio/gpio-orion.c @@ -97,9 +97,9 @@ static int orion_gpio_probe(struct device_d *dev) gpio = xzalloc(sizeof(*gpio)); gpio->regs = dev_request_mem_region(dev, 0); - if (!gpio->regs) { + if (IS_ERR(gpio->regs)) { free(gpio); - return -EINVAL; + return PTR_ERR(gpio->regs); } gpio->chip.dev = dev; gpio->chip.ops = &orion_gpio_ops; -- cgit v1.2.3