Use devm_request_region
Subsystems (7)
cover Use devm_request_region
By the time request_region is called in several GPIO drivers, a corresponding device structure has already been allocated. The devm_request_region function should be used to help simplify the cleanup code and reduce the possible points of failure.
William Breathitt Gray (7):
gpio: 104-dio-48e: Use devm_request_region
gpio: 104-idi-48: Use devm_request_region
gpio: 104-idio-16: Use devm_request_region
gpio: amd8111: Use devm_request_region
gpio: ich: Use devm_request_region
gpio: sch311x: Use devm_request_region
gpio: ws16c48: Use devm_request_region
drivers/gpio/gpio-104-dio-48e.c | 22 +++++++----------- drivers/gpio/gpio-104-idi-48.c | 22 +++++++----------- drivers/gpio/gpio-104-idio-16.c | 22 +++++++----------- drivers/gpio/gpio-amd8111.c | 7 +++--- drivers/gpio/gpio-ich.c | 51 ++++++++--------------------------------- drivers/gpio/gpio-sch311x.c | 7 +++--- drivers/gpio/gpio-ws16c48.c | 22 +++++++----------- 7 files changed, 47 insertions(+), 106 deletions(-)
Signature · 1 line
2.4.10
PATCH 1/7 gpio: 104-dio-48e: Use devm_request_region
By the time request_region is called in the ACCES 104-DIO-48E GPIO driver, a corresponding device structure has already been allocated. The devm_request_region function should be used to help simplify the cleanup code and reduce the possible points of failure.
--- drivers/gpio/gpio-104-dio-48e.c | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-)
drivers/gpio/gpio-104-dio-48e.c +8 -14
@@ -310,11 +310,10 @@ static int __init dio48e_probe(struct platform_device *pdev)if (!dio48egpio)return -ENOMEM ; -if (!request_region (base, extent, name)) { -dev_err (dev,"Unable to lock %s port addresses (0x%X-0x%X)\n" , - name, base, base + extent); - err = -EBUSY ; - goto err_lock_io_port; +if (!devm_request_region (dev, base, extent, name)) { +dev_err (dev,"Unable to lock port addresses (0x%X-0x%X)\n" , + base, base + extent); +return -EBUSY ; } dio48egpio->chip.label = name;
@@ -338,7 +337,7 @@ static int __init dio48e_probe(struct platform_device *pdev) err =gpiochip_add_data (&dio48egpio->chip, dio48egpio);if (err) {dev_err (dev,"GPIO registering failed (%d)\n" , err); - goto err_gpio_register; +return err; }/* initialize all GPIO as output */
@@ -360,23 +359,19 @@ static int __init dio48e_probe(struct platform_device *pdev) handle_edge_irq, IRQ_TYPE_NONE);if (err) {dev_err (dev,"Could not add irqchip (%d)\n" , err); - goto err_gpiochip_irqchip_add; + goto err_gpiochip_remove; } err =request_irq (irq, dio48e_irq_handler,0 , name, dio48egpio);if (err) {dev_err (dev,"IRQ handler registering failed (%d)\n" , err); - goto err_request_irq; + goto err_gpiochip_remove; }return 0 ; -err_request_irq: -err_gpiochip_irqchip_add: +err_gpiochip_remove:gpiochip_remove (&dio48egpio->chip); -err_gpio_register: -release_region (base, extent); -err_lock_io_port:return err; }
@@ -386,7 +381,6 @@ static int dio48e_remove(struct platform_device *pdev)free_irq (dio48egpio->irq, dio48egpio);gpiochip_remove (&dio48egpio->chip); -release_region (dio48egpio->base, dio48egpio->extent);return 0 ; }
Signature · 1 line
2.4.10
PATCH 2/7 gpio: 104-idi-48: Use devm_request_region
In reply to William Breathitt GrayBy the time request_region is called in the ACCES 104-IDI-48 GPIO driver, a corresponding device structure has already been allocated. The devm_request_region function should be used to help simplify the cleanup code and reduce the possible points of failure.
--- drivers/gpio/gpio-104-idi-48.c | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-)
drivers/gpio/gpio-104-idi-48.c +8 -14
@@ -227,11 +227,10 @@ static int __init idi_48_probe(struct platform_device *pdev)if (!idi48gpio)return -ENOMEM ; -if (!request_region (base, extent, name)) { -dev_err (dev,"Unable to lock %s port addresses (0x%X-0x%X)\n" , - name, base, base + extent); - err = -EBUSY ; - goto err_lock_io_port; +if (!devm_request_region (dev, base, extent, name)) { +dev_err (dev,"Unable to lock port addresses (0x%X-0x%X)\n" , + base, base + extent); +return -EBUSY ; } idi48gpio->chip.label = name;
@@ -253,7 +252,7 @@ static int __init idi_48_probe(struct platform_device *pdev) err =gpiochip_add_data (&idi48gpio->chip, idi48gpio);if (err) {dev_err (dev,"GPIO registering failed (%d)\n" , err); - goto err_gpio_register; +return err; }/* Disable IRQ by default */
@@ -264,24 +263,20 @@ static int __init idi_48_probe(struct platform_device *pdev) handle_edge_irq, IRQ_TYPE_NONE);if (err) {dev_err (dev,"Could not add irqchip (%d)\n" , err); - goto err_gpiochip_irqchip_add; + goto err_gpiochip_remove; } err =request_irq (irq, idi_48_irq_handler,IRQF_SHARED , name, idi48gpio);if (err) {dev_err (dev,"IRQ handler registering failed (%d)\n" , err); - goto err_request_irq; + goto err_gpiochip_remove; }return 0 ; -err_request_irq: -err_gpiochip_irqchip_add: +err_gpiochip_remove:gpiochip_remove (&idi48gpio->chip); -err_gpio_register: -release_region (base, extent); -err_lock_io_port:return err; }
@@ -291,7 +286,6 @@ static int idi_48_remove(struct platform_device *pdev)free_irq (idi48gpio->irq, idi48gpio);gpiochip_remove (&idi48gpio->chip); -release_region (idi48gpio->base, idi48gpio->extent);return 0 ; }
Signature · 1 line
2.4.10
PATCH 3/7 gpio: 104-idio-16: Use devm_request_region
In reply to William Breathitt GrayBy the time request_region is called in the ACCES 104-IDIO-16 GPIO driver, a corresponding device structure has already been allocated. The devm_request_region function should be used to help simplify the cleanup code and reduce the possible points of failure.
--- drivers/gpio/gpio-104-idio-16.c | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-)
drivers/gpio/gpio-104-idio-16.c +8 -14
@@ -201,11 +201,10 @@ static int __init idio_16_probe(struct platform_device *pdev)if (!idio16gpio)return -ENOMEM ; -if (!request_region (base, extent, name)) { -dev_err (dev,"Unable to lock %s port addresses (0x%X-0x%X)\n" , - name, base, base + extent); - err = -EBUSY ; - goto err_lock_io_port; +if (!devm_request_region (dev, base, extent, name)) { +dev_err (dev,"Unable to lock port addresses (0x%X-0x%X)\n" , + base, base + extent); +return -EBUSY ; } idio16gpio->chip.label = name;
@@ -230,7 +229,7 @@ static int __init idio_16_probe(struct platform_device *pdev) err =gpiochip_add_data (&idio16gpio->chip, idio16gpio);if (err) {dev_err (dev,"GPIO registering failed (%d)\n" , err); - goto err_gpio_register; +return err; }/* Disable IRQ by default */
@@ -241,23 +240,19 @@ static int __init idio_16_probe(struct platform_device *pdev) handle_edge_irq, IRQ_TYPE_NONE);if (err) {dev_err (dev,"Could not add irqchip (%d)\n" , err); - goto err_gpiochip_irqchip_add; + goto err_gpiochip_remove; } err =request_irq (irq, idio_16_irq_handler,0 , name, idio16gpio);if (err) {dev_err (dev,"IRQ handler registering failed (%d)\n" , err); - goto err_request_irq; + goto err_gpiochip_remove; }return 0 ; -err_request_irq: -err_gpiochip_irqchip_add: +err_gpiochip_remove:gpiochip_remove (&idio16gpio->chip); -err_gpio_register: -release_region (base, extent); -err_lock_io_port:return err; }
@@ -267,7 +262,6 @@ static int idio_16_remove(struct platform_device *pdev)free_irq (idio16gpio->irq, idio16gpio);gpiochip_remove (&idio16gpio->chip); -release_region (idio16gpio->base, idio16gpio->extent);return 0 ; }
Signature · 1 line
2.4.10
PATCH 4/7 gpio: amd8111: Use devm_request_region
In reply to William Breathitt GrayBy the time request_region is called in the AMD 8111 GPIO driver, a corresponding device structure has already been allocated. The devm_request_region function should be used to help simplify the cleanup code and reduce the possible points of failure.
--- drivers/gpio/gpio-amd8111.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)
drivers/gpio/gpio-amd8111.c +3 -4
@@ -25,6 +25,7 @@* License version 2. This program is licensed "as is" without any * warranty of any kind, whether express or implied. */ +#include <linux/ioport.h> #include <linux/module.h> #include <linux/kernel.h> #include <linux/gpio.h>
@@ -204,7 +205,8 @@ found: gp.pmbase &=0x0000FF00 ;if (gp.pmbase ==0 ) goto out; -if (!request_region (gp.pmbase +PMBASE_OFFSET ,PMBASE_SIZE ,"AMD GPIO" )) { +if (!devm_request_region (&pdev->dev, gp.pmbase +PMBASE_OFFSET , +PMBASE_SIZE ,"AMD GPIO" )) {dev_err (&pdev->dev,"AMD GPIO region 0x%x already in use!\n" , gp.pmbase +PMBASE_OFFSET ); err = -EBUSY ;
@@ -213,7 +215,6 @@ found: gp.pm =ioport_map (gp.pmbase +PMBASE_OFFSET ,PMBASE_SIZE );if (!gp.pm) {dev_err (&pdev->dev,"Couldn't map io port into io memory\n" ); -release_region (gp.pmbase +PMBASE_OFFSET ,PMBASE_SIZE ); err = -ENOMEM ; goto out; }
@@ -228,7 +229,6 @@ found:printk (KERN_ERR "GPIO registering failed (%d)\n" , err);ioport_unmap (gp.pm); -release_region (gp.pmbase +PMBASE_OFFSET ,PMBASE_SIZE ); goto out; } out:
@@ -239,7 +239,6 @@ static void __exit amd_gpio_exit(void) {gpiochip_remove (&gp.chip);ioport_unmap (gp.pm); -release_region (gp.pmbase +PMBASE_OFFSET ,PMBASE_SIZE ); }module_init (amd_gpio_init);
Signature · 1 line
2.4.10
PATCH 5/7 gpio: ich: Use devm_request_region
In reply to William Breathitt GrayBy the time request_region is called in the Intel ICH series GPIO driver, a corresponding device structure has already been allocated. The devm_request_region function should be used to help simplify the cleanup code and reduce the possible points of failure.
--- drivers/gpio/gpio-ich.c | 51 +++++++++---------------------------------------- 1 file changed, 9 insertions(+), 42 deletions(-)
drivers/gpio/gpio-ich.c +9 -42
@@ -20,6 +20,7 @@#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/ioport.h> #include <linux/module.h> #include <linux/pci.h> #include <linux/gpio.h>
@@ -384,8 +385,8 @@ static struct ichx_desc avoton_desc = { .use_outlvl_cache = true, }; -static int ichx_gpio_request_regions (struct resource *res_base, -const char *name,u8 use_gpio) +static int ichx_gpio_request_regions (struct device *dev, +struct resource *res_base,const char *name,u8 use_gpio) {int i;
@@ -395,34 +396,12 @@ static int ichx_gpio_request_regions(struct resource *res_base,for (i =0 ; i <ARRAY_SIZE (ichx_priv.desc->regs[0 ]); i++) {if (!(use_gpio & (1 << i)))continue ; -if (!request_region ( +if (!devm_request_region (dev, res_base->start + ichx_priv.desc->regs[0 ][i], ichx_priv.desc->reglen[i], name)) - goto request_err; +return -EBUSY ; }return 0 ; - -request_err: -/* Clean up: release already requested regions, if any */ -for (i--; i >=0 ; i--) { -if (!(use_gpio & (1 << i))) -continue ; -release_region (res_base->start + ichx_priv.desc->regs[0 ][i], - ichx_priv.desc->reglen[i]); - } -return -EBUSY ; -} - -static void ichx_gpio_release_regions (struct resource *res_base,u8 use_gpio) -{ -int i; - -for (i =0 ; i <ARRAY_SIZE (ichx_priv.desc->regs[0 ]); i++) { -if (!(use_gpio & (1 << i))) -continue ; -release_region (res_base->start + ichx_priv.desc->regs[0 ][i], - ichx_priv.desc->reglen[i]); - } }static int ichx_gpio_probe (struct platform_device *pdev)
@@ -468,7 +447,7 @@ static int ichx_gpio_probe(struct platform_device *pdev)spin_lock_init (&ichx_priv.lock); res_base =platform_get_resource (pdev,IORESOURCE_IO ,ICH_RES_GPIO ); ichx_priv.use_gpio = ich_info->use_gpio; - err =ichx_gpio_request_regions (res_base, pdev->name, + err =ichx_gpio_request_regions (&pdev->dev, res_base, pdev->name, ichx_priv.use_gpio);if (err)return err;
@@ -489,8 +468,8 @@ static int ichx_gpio_probe(struct platform_device *pdev) goto init; } -if (!request_region (res_pm->start,resource_size (res_pm), - pdev->name)) { +if (!devm_request_region (&pdev->dev, res_pm->start, +resource_size (res_pm), pdev->name)) {pr_warn ("ACPI BAR is busy, GPI 0 - 15 unavailable\n" ); goto init; }
@@ -502,31 +481,19 @@ init: err =gpiochip_add_data (&ichx_priv.chip,NULL );if (err) {pr_err ("Failed to register GPIOs\n" ); - goto add_err; +return err; }pr_info ("GPIO from %d to %d on %s\n" , ichx_priv.chip.base, ichx_priv.chip.base + ichx_priv.chip.ngpio -1 ,DRV_NAME );return 0 ; - -add_err: -ichx_gpio_release_regions (ichx_priv.gpio_base, ichx_priv.use_gpio); -if (ichx_priv.pm_base) -release_region (ichx_priv.pm_base->start, -resource_size (ichx_priv.pm_base)); -return err; }static int ichx_gpio_remove (struct platform_device *pdev) {gpiochip_remove (&ichx_priv.chip); -ichx_gpio_release_regions (ichx_priv.gpio_base, ichx_priv.use_gpio); -if (ichx_priv.pm_base) -release_region (ichx_priv.pm_base->start, -resource_size (ichx_priv.pm_base)); -return 0 ; }
Signature · 1 line
2.4.10
PATCH 6/7 gpio: sch311x: Use devm_request_region
In reply to William Breathitt GrayBy the time request_region is called in the SMSC SCH311x GPIO driver, a corresponding device structure has already been allocated. The devm_request_region function should be used to help simplify the cleanup code and reduce the possible points of failure.
--- drivers/gpio/gpio-sch311x.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)
drivers/gpio/gpio-sch311x.c +3 -4
@@ -12,6 +12,7 @@* (at your option) any later version. */ +#include <linux/ioport.h> #include <linux/module.h> #include <linux/kernel.h> #include <linux/init.h>
@@ -228,7 +229,8 @@ static int sch311x_gpio_probe(struct platform_device *pdev)int err, i;/* we can register all GPIO data registers at once */ -if (!request_region (pdata->runtime_reg +GP1 ,6 ,DRV_NAME )) { +if (!devm_request_region (&pdev->dev, pdata->runtime_reg +GP1 ,6 , +DRV_NAME )) {dev_err (&pdev->dev,"Failed to request region 0x%04x-0x%04x.\n" , pdata->runtime_reg +GP1 , pdata->runtime_reg +GP1 +5 );return -EBUSY ;
@@ -273,7 +275,6 @@ static int sch311x_gpio_probe(struct platform_device *pdev)return 0 ; exit_err: -release_region (pdata->runtime_reg +GP1 ,6 );/* release already registered chips */ for (--i; i >=0 ; i--)gpiochip_remove (&priv->blocks[i].chip);
@@ -286,8 +287,6 @@ static int sch311x_gpio_remove(struct platform_device *pdev)struct sch311x_gpio_priv *priv =platform_get_drvdata (pdev);int i; -release_region (pdata->runtime_reg +GP1 ,6 ); -for (i =0 ; i <ARRAY_SIZE (priv->blocks); i++) {gpiochip_remove (&priv->blocks[i].chip); dev_info(&pdev->dev,
Signature · 1 line
2.4.10
kbuild test robot
build botRe: [PATCH 6/7] gpio: sch311x: Use devm_request_region
reproduce:
Hi William,
[auto build test WARNING on gpio/for-next]
[cannot apply to v4.5-rc2 next-20160201]
[if your patch is applied to the wrong git tree, please drop us a note to help improving the system]
url: https://github.com/0day-ci/linux/commits/William-Breathitt-Gray/Use-devm_request_region/20160202-080012 base: https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git for-next config: i386-randconfig-x009-02010231 (attached as .config) reproduce: # save the attached .config to linux build tree make ARCH=i386
All warnings (new ones prefixed by >>):
drivers/gpio/gpio-sch311x.c: In function 'sch311x_gpio_remove':
>> drivers/gpio/gpio-sch311x.c:286:28: warning: unused variable 'pdata' [-Wunused-variable]
struct sch311x_pdev_data *pdata = dev_get_platdata(&pdev->dev);
^vim +/pdata +286 drivers/gpio/gpio-sch311x.c
12262bef Bruno Randolf 2013-12-04 270 }
12262bef Bruno Randolf 2013-12-04 271 dev_info(&pdev->dev,
12262bef Bruno Randolf 2013-12-04 272 "SMSC SCH311x GPIO block %d registered.\n", i);
12262bef Bruno Randolf 2013-12-04 273 }
12262bef Bruno Randolf 2013-12-04 274
12262bef Bruno Randolf 2013-12-04 275 return 0;
12262bef Bruno Randolf 2013-12-04 276
12262bef Bruno Randolf 2013-12-04 277 exit_err:
12262bef Bruno Randolf 2013-12-04 278 /* release already registered chips */
12262bef Bruno Randolf 2013-12-04 279 for (--i; i >= 0; i--)
12262bef Bruno Randolf 2013-12-04 280 gpiochip_remove(&priv->blocks[i].chip);
12262bef Bruno Randolf 2013-12-04 281 return err;
12262bef Bruno Randolf 2013-12-04 282 }
12262bef Bruno Randolf 2013-12-04 283
12262bef Bruno Randolf 2013-12-04 284 static int sch311x_gpio_remove(struct platform_device *pdev)
12262bef Bruno Randolf 2013-12-04 285 {
ab128afc Nizam Haider 2015-11-23 @286 struct sch311x_pdev_data *pdata = dev_get_platdata(&pdev->dev);
12262bef Bruno Randolf 2013-12-04 287 struct sch311x_gpio_priv *priv = platform_get_drvdata(pdev);
9f5132ae abdoulaye berthe 2014-07-12 288 int i;
12262bef Bruno Randolf 2013-12-04 289
12262bef Bruno Randolf 2013-12-04 290 for (i = 0; i < ARRAY_SIZE(priv->blocks); i++) {
9f5132ae abdoulaye berthe 2014-07-12 291 gpiochip_remove(&priv->blocks[i].chip);
12262bef Bruno Randolf 2013-12-04 292 dev_info(&pdev->dev,
12262bef Bruno Randolf 2013-12-04 293 "SMSC SCH311x GPIO block %d unregistered.\n", i);
12262bef Bruno Randolf 2013-12-04 294 }:::::: The code at line 286 was first introduced by commit :::::: ab128afce4ea8a496fc42553215f6635a14f05c3 gpio: use dev_get_platdata()
:::::: TO: Nizam Haider <[email protected]> :::::: CC: Linus Walleij <[email protected]>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
PATCH 7/7 gpio: ws16c48: Use devm_request_region
In reply to William Breathitt GrayBy the time request_region is called in the WinSystems WS16C48 GPIO driver, a corresponding device structure has already been allocated. The devm_request_region function should be used to help simplify the cleanup code and reduce the possible points of failure.
--- drivers/gpio/gpio-ws16c48.c | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-)
drivers/gpio/gpio-ws16c48.c +8 -14
@@ -314,11 +314,10 @@ static int __init ws16c48_probe(struct platform_device *pdev)if (!ws16c48gpio)return -ENOMEM ; -if (!request_region (base, extent, name)) { -dev_err (dev,"Unable to lock %s port addresses (0x%X-0x%X)\n" , - name, base, base + extent); - err = -EBUSY ; - goto err_lock_io_port; +if (!devm_request_region (dev, base, extent, name)) { +dev_err (dev,"Unable to lock port addresses (0x%X-0x%X)\n" , + base, base + extent); +return -EBUSY ; } ws16c48gpio->chip.label = name;
@@ -342,7 +341,7 @@ static int __init ws16c48_probe(struct platform_device *pdev) err =gpiochip_add_data (&ws16c48gpio->chip, ws16c48gpio);if (err) {dev_err (dev,"GPIO registering failed (%d)\n" , err); - goto err_gpio_register; +return err; }/* Disable IRQ by default */
@@ -356,24 +355,20 @@ static int __init ws16c48_probe(struct platform_device *pdev) handle_edge_irq, IRQ_TYPE_NONE);if (err) {dev_err (dev,"Could not add irqchip (%d)\n" , err); - goto err_gpiochip_irqchip_add; + goto err_gpiochip_remove; } err =request_irq (irq, ws16c48_irq_handler,IRQF_SHARED , name, ws16c48gpio);if (err) {dev_err (dev,"IRQ handler registering failed (%d)\n" , err); - goto err_request_irq; + goto err_gpiochip_remove; }return 0 ; -err_request_irq: -err_gpiochip_irqchip_add: +err_gpiochip_remove:gpiochip_remove (&ws16c48gpio->chip); -err_gpio_register: -release_region (base, extent); -err_lock_io_port:return err; }
@@ -383,7 +378,6 @@ static int ws16c48_remove(struct platform_device *pdev)free_irq (ws16c48gpio->irq, ws16c48gpio);gpiochip_remove (&ws16c48gpio->chip); -release_region (ws16c48gpio->base, ws16c48gpio->extent);return 0 ; }
Signature · 1 line
2.4.10
Quoted 14 lines · William Breathitt Gray
By the time
request_regionis called in several GPIO drivers, a corresponding device structure has already been allocated. Thedevm_request_regionfunction should be used to help simplify the cleanup code and reduce the possible points of failure.William Breathitt Gray (7):
gpio: 104-dio-48e: Usedevm_request_region
gpio: 104-idi-48: Usedevm_request_region
gpio: 104-idio-16: Usedevm_request_region
gpio: amd8111: Usedevm_request_region
gpio: ich: Usedevm_request_region
gpio: sch311x: Usedevm_request_region
gpio: ws16c48: Usedevm_request_region
Quoted 8 lines
drivers/gpio/gpio-104-dio-48e.c | 22 +++++++----------- drivers/gpio/gpio-104-idi-48.c | 22 +++++++----------- drivers/gpio/gpio-104-idio-16.c | 22 +++++++----------- drivers/gpio/gpio-amd8111.c | 7 +++--- drivers/gpio/gpio-ich.c | 51 ++++++++--------------------------------- drivers/gpio/gpio-sch311x.c | 7 +++--- drivers/gpio/gpio-ws16c48.c | 22 +++++++----------- 7 files changed, 47 insertions(+), 106 deletions(-)
Did a quick review and this looks all good, modulo the compile warning on patch 6.
Quoted 25 lines · Alexandre Courbot
Quoted 14 lines · William Breathitt Gray
By the time
request_regionis called in several GPIO drivers, a corresponding device structure has already been allocated. Thedevm_request_regionfunction should be used to help simplify the cleanup code and reduce the possible points of failure.William Breathitt Gray (7):
gpio: 104-dio-48e: Usedevm_request_region
gpio: 104-idi-48: Usedevm_request_region
gpio: 104-idio-16: Usedevm_request_region
gpio: amd8111: Usedevm_request_region
gpio: ich: Usedevm_request_region
gpio: sch311x: Usedevm_request_region
gpio: ws16c48: Usedevm_request_regionQuoted 8 lines
drivers/gpio/gpio-104-dio-48e.c | 22 +++++++----------- drivers/gpio/gpio-104-idi-48.c | 22 +++++++----------- drivers/gpio/gpio-104-idio-16.c | 22 +++++++----------- drivers/gpio/gpio-amd8111.c | 7 +++--- drivers/gpio/gpio-ich.c | 51 ++++++++--------------------------------- drivers/gpio/gpio-sch311x.c | 7 +++--- drivers/gpio/gpio-ws16c48.c | 22 +++++++----------- 7 files changed, 47 insertions(+), 106 deletions(-)
Quoted 4 lines
Did a quick review and this looks all good, modulo the compile warning on patch 6.
Reviewed-by Alexandre Courbot <[email protected]>
The compile warning for patch 6 appears to be benign and preexisting: an unused variable. Since the warning is unrelated to this patchset, I'll submit a separate patch to remove the unused variable so that this warning will no longer show up on later compiles.
William Breathitt Gray