* [PATCH v2 1/6] gpio: ich: Use devm_gpiochip_add_data() to simplify remove path
@ 2023-03-07 19:33 Andrew Davis
2023-03-07 19:33 ` [PATCH v2 2/6] gpio: twl4030: " Andrew Davis
` (5 more replies)
0 siblings, 6 replies; 9+ messages in thread
From: Andrew Davis @ 2023-03-07 19:33 UTC (permalink / raw)
To: Peter Tyser, Andy Shevchenko, Linus Walleij, Bartosz Golaszewski
Cc: linux-gpio, linux-kernel, Andrew Davis
Use devm version of gpiochip add function to handle removal for us.
Signed-off-by: Andrew Davis <afd@ti.com>
---
drivers/gpio/gpio-ich.c | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/drivers/gpio/gpio-ich.c b/drivers/gpio/gpio-ich.c
index 3b31f5e9bf40..0be9285efebc 100644
--- a/drivers/gpio/gpio-ich.c
+++ b/drivers/gpio/gpio-ich.c
@@ -457,7 +457,7 @@ static int ichx_gpio_probe(struct platform_device *pdev)
init:
ichx_gpiolib_setup(&ichx_priv.chip);
- err = gpiochip_add_data(&ichx_priv.chip, NULL);
+ err = devm_gpiochip_add_data(dev, &ichx_priv.chip, NULL);
if (err) {
dev_err(dev, "Failed to register GPIOs\n");
return err;
@@ -469,19 +469,11 @@ static int ichx_gpio_probe(struct platform_device *pdev)
return 0;
}
-static int ichx_gpio_remove(struct platform_device *pdev)
-{
- gpiochip_remove(&ichx_priv.chip);
-
- return 0;
-}
-
static struct platform_driver ichx_gpio_driver = {
.driver = {
.name = DRV_NAME,
},
.probe = ichx_gpio_probe,
- .remove = ichx_gpio_remove,
};
module_platform_driver(ichx_gpio_driver);
--
2.39.2
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 2/6] gpio: twl4030: Use devm_gpiochip_add_data() to simplify remove path
2023-03-07 19:33 [PATCH v2 1/6] gpio: ich: Use devm_gpiochip_add_data() to simplify remove path Andrew Davis
@ 2023-03-07 19:33 ` Andrew Davis
2023-03-07 19:33 ` [PATCH v2 3/6] gpio: sch311x: " Andrew Davis
` (4 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: Andrew Davis @ 2023-03-07 19:33 UTC (permalink / raw)
To: Peter Tyser, Andy Shevchenko, Linus Walleij, Bartosz Golaszewski
Cc: linux-gpio, linux-kernel, Andrew Davis
Use devm version of gpiochip add function to handle removal for us.
Signed-off-by: Andrew Davis <afd@ti.com>
---
Changes from v1:
- Actually add the devm call
drivers/gpio/gpio-twl4030.c | 23 +++--------------------
1 file changed, 3 insertions(+), 20 deletions(-)
diff --git a/drivers/gpio/gpio-twl4030.c b/drivers/gpio/gpio-twl4030.c
index c1bb2c3ca6f2..3708ed2314e8 100644
--- a/drivers/gpio/gpio-twl4030.c
+++ b/drivers/gpio/gpio-twl4030.c
@@ -492,18 +492,6 @@ static struct twl4030_gpio_platform_data *of_gpio_twl4030(struct device *dev,
return omap_twl_info;
}
-/* Cannot use as gpio_twl4030_probe() calls us */
-static int gpio_twl4030_remove(struct platform_device *pdev)
-{
- struct gpio_twl4030_priv *priv = platform_get_drvdata(pdev);
-
- gpiochip_remove(&priv->gpio_chip);
-
- /* REVISIT no support yet for deregistering all the IRQs */
- WARN_ON(!is_module());
- return 0;
-}
-
static int gpio_twl4030_probe(struct platform_device *pdev)
{
struct twl4030_gpio_platform_data *pdata = dev_get_platdata(&pdev->dev);
@@ -577,16 +565,13 @@ static int gpio_twl4030_probe(struct platform_device *pdev)
if (pdata->use_leds)
priv->gpio_chip.ngpio += 2;
- ret = gpiochip_add_data(&priv->gpio_chip, priv);
+ ret = devm_gpiochip_add_data(&pdev->dev, &priv->gpio_chip, priv);
if (ret < 0) {
dev_err(&pdev->dev, "could not register gpiochip, %d\n", ret);
priv->gpio_chip.ngpio = 0;
- gpio_twl4030_remove(pdev);
- goto out;
+ return ret;
}
- platform_set_drvdata(pdev, priv);
-
if (pdata->setup) {
int status;
@@ -596,8 +581,7 @@ static int gpio_twl4030_probe(struct platform_device *pdev)
dev_dbg(&pdev->dev, "setup --> %d\n", status);
}
-out:
- return ret;
+ return 0;
}
static const struct of_device_id twl_gpio_match[] = {
@@ -615,7 +599,6 @@ static struct platform_driver gpio_twl4030_driver = {
.of_match_table = twl_gpio_match,
},
.probe = gpio_twl4030_probe,
- .remove = gpio_twl4030_remove,
};
static int __init gpio_twl4030_init(void)
--
2.39.2
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 3/6] gpio: sch311x: Use devm_gpiochip_add_data() to simplify remove path
2023-03-07 19:33 [PATCH v2 1/6] gpio: ich: Use devm_gpiochip_add_data() to simplify remove path Andrew Davis
2023-03-07 19:33 ` [PATCH v2 2/6] gpio: twl4030: " Andrew Davis
@ 2023-03-07 19:33 ` Andrew Davis
2023-03-08 8:39 ` kernel test robot
2023-03-09 8:49 ` kernel test robot
2023-03-07 19:33 ` [PATCH v2 4/6] gpio: pisosr: " Andrew Davis
` (3 subsequent siblings)
5 siblings, 2 replies; 9+ messages in thread
From: Andrew Davis @ 2023-03-07 19:33 UTC (permalink / raw)
To: Peter Tyser, Andy Shevchenko, Linus Walleij, Bartosz Golaszewski
Cc: linux-gpio, linux-kernel, Andrew Davis
Use devm version of gpiochip add function to handle removal for us.
Signed-off-by: Andrew Davis <afd@ti.com>
---
drivers/gpio/gpio-sch311x.c | 25 ++-----------------------
1 file changed, 2 insertions(+), 23 deletions(-)
diff --git a/drivers/gpio/gpio-sch311x.c b/drivers/gpio/gpio-sch311x.c
index da01e1cad7cb..ba7c300511a5 100644
--- a/drivers/gpio/gpio-sch311x.c
+++ b/drivers/gpio/gpio-sch311x.c
@@ -281,8 +281,6 @@ static int sch311x_gpio_probe(struct platform_device *pdev)
if (!priv)
return -ENOMEM;
- platform_set_drvdata(pdev, priv);
-
for (i = 0; i < ARRAY_SIZE(priv->blocks); i++) {
block = &priv->blocks[i];
@@ -305,36 +303,17 @@ static int sch311x_gpio_probe(struct platform_device *pdev)
block->data_reg = sch311x_gpio_blocks[i].data_reg;
block->runtime_reg = pdata->runtime_reg;
- err = gpiochip_add_data(&block->chip, block);
+ err = devm_gpiochip_add_data(&pdev->dev, &block->chip, block);
if (err < 0) {
dev_err(&pdev->dev,
"Could not register gpiochip, %d\n", err);
- goto exit_err;
+ return err;
}
dev_info(&pdev->dev,
"SMSC SCH311x GPIO block %d registered.\n", i);
}
return 0;
-
-exit_err:
- /* release already registered chips */
- for (--i; i >= 0; i--)
- gpiochip_remove(&priv->blocks[i].chip);
- return err;
-}
-
-static int sch311x_gpio_remove(struct platform_device *pdev)
-{
- struct sch311x_gpio_priv *priv = platform_get_drvdata(pdev);
- int i;
-
- for (i = 0; i < ARRAY_SIZE(priv->blocks); i++) {
- gpiochip_remove(&priv->blocks[i].chip);
- dev_info(&pdev->dev,
- "SMSC SCH311x GPIO block %d unregistered.\n", i);
- }
- return 0;
}
static struct platform_driver sch311x_gpio_driver = {
--
2.39.2
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 4/6] gpio: pisosr: Use devm_gpiochip_add_data() to simplify remove path
2023-03-07 19:33 [PATCH v2 1/6] gpio: ich: Use devm_gpiochip_add_data() to simplify remove path Andrew Davis
2023-03-07 19:33 ` [PATCH v2 2/6] gpio: twl4030: " Andrew Davis
2023-03-07 19:33 ` [PATCH v2 3/6] gpio: sch311x: " Andrew Davis
@ 2023-03-07 19:33 ` Andrew Davis
2023-03-07 19:33 ` [PATCH v2 5/6] gpio: tpic2810: " Andrew Davis
` (2 subsequent siblings)
5 siblings, 0 replies; 9+ messages in thread
From: Andrew Davis @ 2023-03-07 19:33 UTC (permalink / raw)
To: Peter Tyser, Andy Shevchenko, Linus Walleij, Bartosz Golaszewski
Cc: linux-gpio, linux-kernel, Andrew Davis
Use devm version of gpiochip add function to handle removal for us.
While here update copyright and module author.
Signed-off-by: Andrew Davis <afd@ti.com>
---
Changes from v1:
- Use devm to cleanup mutex
drivers/gpio/gpio-pisosr.c | 30 ++++++++++++++----------------
1 file changed, 14 insertions(+), 16 deletions(-)
diff --git a/drivers/gpio/gpio-pisosr.c b/drivers/gpio/gpio-pisosr.c
index 67071bea08c2..4c9d138a7dc7 100644
--- a/drivers/gpio/gpio-pisosr.c
+++ b/drivers/gpio/gpio-pisosr.c
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
- * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/
- * Andrew F. Davis <afd@ti.com>
+ * Copyright (C) 2015-2023 Texas Instruments Incorporated - https://www.ti.com/
+ * Andrew Davis <afd@ti.com>
*/
#include <linux/bitmap.h>
@@ -116,6 +116,13 @@ static const struct gpio_chip template_chip = {
.can_sleep = true,
};
+static void pisosr_mutex_destroy(void *data)
+{
+ struct mutex *lock = data;
+
+ mutex_destroy(lock);
+}
+
static int pisosr_gpio_probe(struct spi_device *spi)
{
struct device *dev = &spi->dev;
@@ -126,8 +133,6 @@ static int pisosr_gpio_probe(struct spi_device *spi)
if (!gpio)
return -ENOMEM;
- spi_set_drvdata(spi, gpio);
-
gpio->chip = template_chip;
gpio->chip.parent = dev;
of_property_read_u16(dev->of_node, "ngpios", &gpio->chip.ngpio);
@@ -145,8 +150,11 @@ static int pisosr_gpio_probe(struct spi_device *spi)
"Unable to allocate load GPIO\n");
mutex_init(&gpio->lock);
+ ret = devm_add_action_or_reset(dev, pisosr_mutex_destroy, &gpio->lock);
+ if (ret)
+ return ret;
- ret = gpiochip_add_data(&gpio->chip, gpio);
+ ret = devm_gpiochip_add_data(dev, &gpio->chip, gpio);
if (ret < 0) {
dev_err(dev, "Unable to register gpiochip\n");
return ret;
@@ -155,15 +163,6 @@ static int pisosr_gpio_probe(struct spi_device *spi)
return 0;
}
-static void pisosr_gpio_remove(struct spi_device *spi)
-{
- struct pisosr_gpio *gpio = spi_get_drvdata(spi);
-
- gpiochip_remove(&gpio->chip);
-
- mutex_destroy(&gpio->lock);
-}
-
static const struct spi_device_id pisosr_gpio_id_table[] = {
{ "pisosr-gpio", },
{ /* sentinel */ }
@@ -182,11 +181,10 @@ static struct spi_driver pisosr_gpio_driver = {
.of_match_table = pisosr_gpio_of_match_table,
},
.probe = pisosr_gpio_probe,
- .remove = pisosr_gpio_remove,
.id_table = pisosr_gpio_id_table,
};
module_spi_driver(pisosr_gpio_driver);
-MODULE_AUTHOR("Andrew F. Davis <afd@ti.com>");
+MODULE_AUTHOR("Andrew Davis <afd@ti.com>");
MODULE_DESCRIPTION("SPI Compatible PISO Shift Register GPIO Driver");
MODULE_LICENSE("GPL v2");
--
2.39.2
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 5/6] gpio: tpic2810: Use devm_gpiochip_add_data() to simplify remove path
2023-03-07 19:33 [PATCH v2 1/6] gpio: ich: Use devm_gpiochip_add_data() to simplify remove path Andrew Davis
` (2 preceding siblings ...)
2023-03-07 19:33 ` [PATCH v2 4/6] gpio: pisosr: " Andrew Davis
@ 2023-03-07 19:33 ` Andrew Davis
2023-03-07 19:33 ` [PATCH v2 6/6] gpio: tps65086: " Andrew Davis
2023-03-07 19:53 ` [PATCH v2 1/6] gpio: ich: " Andy Shevchenko
5 siblings, 0 replies; 9+ messages in thread
From: Andrew Davis @ 2023-03-07 19:33 UTC (permalink / raw)
To: Peter Tyser, Andy Shevchenko, Linus Walleij, Bartosz Golaszewski
Cc: linux-gpio, linux-kernel, Andrew Davis
Use devm version of gpiochip add function to handle removal for us.
While here update copyright and module author.
Signed-off-by: Andrew Davis <afd@ti.com>
---
drivers/gpio/gpio-tpic2810.c | 18 ++++--------------
1 file changed, 4 insertions(+), 14 deletions(-)
diff --git a/drivers/gpio/gpio-tpic2810.c b/drivers/gpio/gpio-tpic2810.c
index 349c5fbd9b02..718053edd76a 100644
--- a/drivers/gpio/gpio-tpic2810.c
+++ b/drivers/gpio/gpio-tpic2810.c
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
- * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/
- * Andrew F. Davis <afd@ti.com>
+ * Copyright (C) 2015-2023 Texas Instruments Incorporated - https://www.ti.com/
+ * Andrew Davis <afd@ti.com>
*/
#include <linux/gpio/driver.h>
@@ -107,8 +107,6 @@ static int tpic2810_probe(struct i2c_client *client)
if (!gpio)
return -ENOMEM;
- i2c_set_clientdata(client, gpio);
-
gpio->chip = template_chip;
gpio->chip.parent = &client->dev;
@@ -116,7 +114,7 @@ static int tpic2810_probe(struct i2c_client *client)
mutex_init(&gpio->lock);
- ret = gpiochip_add_data(&gpio->chip, gpio);
+ ret = devm_gpiochip_add_data(&client->dev, &gpio->chip, gpio);
if (ret < 0) {
dev_err(&client->dev, "Unable to register gpiochip\n");
return ret;
@@ -125,13 +123,6 @@ static int tpic2810_probe(struct i2c_client *client)
return 0;
}
-static void tpic2810_remove(struct i2c_client *client)
-{
- struct tpic2810 *gpio = i2c_get_clientdata(client);
-
- gpiochip_remove(&gpio->chip);
-}
-
static const struct i2c_device_id tpic2810_id_table[] = {
{ "tpic2810", },
{ /* sentinel */ }
@@ -144,11 +135,10 @@ static struct i2c_driver tpic2810_driver = {
.of_match_table = tpic2810_of_match_table,
},
.probe_new = tpic2810_probe,
- .remove = tpic2810_remove,
.id_table = tpic2810_id_table,
};
module_i2c_driver(tpic2810_driver);
-MODULE_AUTHOR("Andrew F. Davis <afd@ti.com>");
+MODULE_AUTHOR("Andrew Davis <afd@ti.com>");
MODULE_DESCRIPTION("TPIC2810 8-Bit LED Driver GPIO Driver");
MODULE_LICENSE("GPL v2");
--
2.39.2
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 6/6] gpio: tps65086: Use devm_gpiochip_add_data() to simplify remove path
2023-03-07 19:33 [PATCH v2 1/6] gpio: ich: Use devm_gpiochip_add_data() to simplify remove path Andrew Davis
` (3 preceding siblings ...)
2023-03-07 19:33 ` [PATCH v2 5/6] gpio: tpic2810: " Andrew Davis
@ 2023-03-07 19:33 ` Andrew Davis
2023-03-07 19:53 ` [PATCH v2 1/6] gpio: ich: " Andy Shevchenko
5 siblings, 0 replies; 9+ messages in thread
From: Andrew Davis @ 2023-03-07 19:33 UTC (permalink / raw)
To: Peter Tyser, Andy Shevchenko, Linus Walleij, Bartosz Golaszewski
Cc: linux-gpio, linux-kernel, Andrew Davis
Use devm version of gpiochip add function to handle removal for us.
While here update copyright and module author.
Signed-off-by: Andrew Davis <afd@ti.com>
---
drivers/gpio/gpio-tps65086.c | 20 ++++----------------
1 file changed, 4 insertions(+), 16 deletions(-)
diff --git a/drivers/gpio/gpio-tps65086.c b/drivers/gpio/gpio-tps65086.c
index 1e9d8262d0ff..0b8b631441ae 100644
--- a/drivers/gpio/gpio-tps65086.c
+++ b/drivers/gpio/gpio-tps65086.c
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-2.0
/*
- * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/
- * Andrew F. Davis <afd@ti.com>
+ * Copyright (C) 2015-2023 Texas Instruments Incorporated - https://www.ti.com/
+ * Andrew Davis <afd@ti.com>
*
* Based on the TPS65912 driver
*/
@@ -86,13 +86,11 @@ static int tps65086_gpio_probe(struct platform_device *pdev)
if (!gpio)
return -ENOMEM;
- platform_set_drvdata(pdev, gpio);
-
gpio->tps = dev_get_drvdata(pdev->dev.parent);
gpio->chip = template_chip;
gpio->chip.parent = gpio->tps->dev;
- ret = gpiochip_add_data(&gpio->chip, gpio);
+ ret = devm_gpiochip_add_data(&pdev->dev, &gpio->chip, gpio);
if (ret < 0) {
dev_err(&pdev->dev, "Could not register gpiochip, %d\n", ret);
return ret;
@@ -101,15 +99,6 @@ static int tps65086_gpio_probe(struct platform_device *pdev)
return 0;
}
-static int tps65086_gpio_remove(struct platform_device *pdev)
-{
- struct tps65086_gpio *gpio = platform_get_drvdata(pdev);
-
- gpiochip_remove(&gpio->chip);
-
- return 0;
-}
-
static const struct platform_device_id tps65086_gpio_id_table[] = {
{ "tps65086-gpio", },
{ /* sentinel */ }
@@ -121,11 +110,10 @@ static struct platform_driver tps65086_gpio_driver = {
.name = "tps65086-gpio",
},
.probe = tps65086_gpio_probe,
- .remove = tps65086_gpio_remove,
.id_table = tps65086_gpio_id_table,
};
module_platform_driver(tps65086_gpio_driver);
-MODULE_AUTHOR("Andrew F. Davis <afd@ti.com>");
+MODULE_AUTHOR("Andrew Davis <afd@ti.com>");
MODULE_DESCRIPTION("TPS65086 GPIO driver");
MODULE_LICENSE("GPL v2");
--
2.39.2
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v2 1/6] gpio: ich: Use devm_gpiochip_add_data() to simplify remove path
2023-03-07 19:33 [PATCH v2 1/6] gpio: ich: Use devm_gpiochip_add_data() to simplify remove path Andrew Davis
` (4 preceding siblings ...)
2023-03-07 19:33 ` [PATCH v2 6/6] gpio: tps65086: " Andrew Davis
@ 2023-03-07 19:53 ` Andy Shevchenko
5 siblings, 0 replies; 9+ messages in thread
From: Andy Shevchenko @ 2023-03-07 19:53 UTC (permalink / raw)
To: Andrew Davis
Cc: Peter Tyser, Linus Walleij, Bartosz Golaszewski, linux-gpio,
linux-kernel
On Tue, Mar 07, 2023 at 01:33:41PM -0600, Andrew Davis wrote:
> Use devm version of gpiochip add function to handle removal for us.
This patch is already applied to my tree.
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 3/6] gpio: sch311x: Use devm_gpiochip_add_data() to simplify remove path
2023-03-07 19:33 ` [PATCH v2 3/6] gpio: sch311x: " Andrew Davis
@ 2023-03-08 8:39 ` kernel test robot
2023-03-09 8:49 ` kernel test robot
1 sibling, 0 replies; 9+ messages in thread
From: kernel test robot @ 2023-03-08 8:39 UTC (permalink / raw)
To: Andrew Davis, Peter Tyser, Andy Shevchenko, Linus Walleij,
Bartosz Golaszewski
Cc: oe-kbuild-all, linux-gpio, linux-kernel, Andrew Davis
Hi Andrew,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on brgl/gpio/for-next]
[also build test ERROR on linus/master v6.3-rc1 next-20230308]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Andrew-Davis/gpio-twl4030-Use-devm_gpiochip_add_data-to-simplify-remove-path/20230308-034717
base: https://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux.git gpio/for-next
patch link: https://lore.kernel.org/r/20230307193346.8718-3-afd%40ti.com
patch subject: [PATCH v2 3/6] gpio: sch311x: Use devm_gpiochip_add_data() to simplify remove path
config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20230308/202303081607.a3gt8vdz-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-8) 11.3.0
reproduce (this is a W=1 build):
# https://github.com/intel-lab-lkp/linux/commit/fcfc10c6817ac3ea88ced58cce2ae8568b0f2030
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Andrew-Davis/gpio-twl4030-Use-devm_gpiochip_add_data-to-simplify-remove-path/20230308-034717
git checkout fcfc10c6817ac3ea88ced58cce2ae8568b0f2030
# save the config file
mkdir build_dir && cp config build_dir/.config
make W=1 O=build_dir ARCH=x86_64 olddefconfig
make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202303081607.a3gt8vdz-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/gpio/gpio-sch311x.c:322:27: error: 'sch311x_gpio_remove' undeclared here (not in a function); did you mean 'sch311x_gpio_probe'?
322 | .remove = sch311x_gpio_remove,
| ^~~~~~~~~~~~~~~~~~~
| sch311x_gpio_probe
vim +322 drivers/gpio/gpio-sch311x.c
12262bef8f4614 Bruno Randolf 2013-12-04 318
12262bef8f4614 Bruno Randolf 2013-12-04 319 static struct platform_driver sch311x_gpio_driver = {
12262bef8f4614 Bruno Randolf 2013-12-04 320 .driver.name = DRV_NAME,
12262bef8f4614 Bruno Randolf 2013-12-04 321 .probe = sch311x_gpio_probe,
12262bef8f4614 Bruno Randolf 2013-12-04 @322 .remove = sch311x_gpio_remove,
12262bef8f4614 Bruno Randolf 2013-12-04 323 };
12262bef8f4614 Bruno Randolf 2013-12-04 324
12262bef8f4614 Bruno Randolf 2013-12-04 325
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 3/6] gpio: sch311x: Use devm_gpiochip_add_data() to simplify remove path
2023-03-07 19:33 ` [PATCH v2 3/6] gpio: sch311x: " Andrew Davis
2023-03-08 8:39 ` kernel test robot
@ 2023-03-09 8:49 ` kernel test robot
1 sibling, 0 replies; 9+ messages in thread
From: kernel test robot @ 2023-03-09 8:49 UTC (permalink / raw)
To: Andrew Davis, Peter Tyser, Andy Shevchenko, Linus Walleij,
Bartosz Golaszewski
Cc: llvm, oe-kbuild-all, linux-gpio, linux-kernel, Andrew Davis
Hi Andrew,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on brgl/gpio/for-next]
[also build test ERROR on linus/master v6.3-rc1 next-20230309]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Andrew-Davis/gpio-twl4030-Use-devm_gpiochip_add_data-to-simplify-remove-path/20230308-034717
base: https://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux.git gpio/for-next
patch link: https://lore.kernel.org/r/20230307193346.8718-3-afd%40ti.com
patch subject: [PATCH v2 3/6] gpio: sch311x: Use devm_gpiochip_add_data() to simplify remove path
config: x86_64-randconfig-a001 (https://download.01.org/0day-ci/archive/20230309/202303091640.6XjHNouG-lkp@intel.com/config)
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/intel-lab-lkp/linux/commit/fcfc10c6817ac3ea88ced58cce2ae8568b0f2030
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Andrew-Davis/gpio-twl4030-Use-devm_gpiochip_add_data-to-simplify-remove-path/20230308-034717
git checkout fcfc10c6817ac3ea88ced58cce2ae8568b0f2030
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/gpio/
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202303091640.6XjHNouG-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/gpio/gpio-sch311x.c:322:13: error: use of undeclared identifier 'sch311x_gpio_remove'
.remove = sch311x_gpio_remove,
^
1 error generated.
vim +/sch311x_gpio_remove +322 drivers/gpio/gpio-sch311x.c
12262bef8f4614 Bruno Randolf 2013-12-04 318
12262bef8f4614 Bruno Randolf 2013-12-04 319 static struct platform_driver sch311x_gpio_driver = {
12262bef8f4614 Bruno Randolf 2013-12-04 320 .driver.name = DRV_NAME,
12262bef8f4614 Bruno Randolf 2013-12-04 321 .probe = sch311x_gpio_probe,
12262bef8f4614 Bruno Randolf 2013-12-04 @322 .remove = sch311x_gpio_remove,
12262bef8f4614 Bruno Randolf 2013-12-04 323 };
12262bef8f4614 Bruno Randolf 2013-12-04 324
12262bef8f4614 Bruno Randolf 2013-12-04 325
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2023-03-09 8:50 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-07 19:33 [PATCH v2 1/6] gpio: ich: Use devm_gpiochip_add_data() to simplify remove path Andrew Davis
2023-03-07 19:33 ` [PATCH v2 2/6] gpio: twl4030: " Andrew Davis
2023-03-07 19:33 ` [PATCH v2 3/6] gpio: sch311x: " Andrew Davis
2023-03-08 8:39 ` kernel test robot
2023-03-09 8:49 ` kernel test robot
2023-03-07 19:33 ` [PATCH v2 4/6] gpio: pisosr: " Andrew Davis
2023-03-07 19:33 ` [PATCH v2 5/6] gpio: tpic2810: " Andrew Davis
2023-03-07 19:33 ` [PATCH v2 6/6] gpio: tps65086: " Andrew Davis
2023-03-07 19:53 ` [PATCH v2 1/6] gpio: ich: " Andy Shevchenko
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).