* [PATCH v2 1/3] gpio: bcm-kona: Make driver OF-independent @ 2023-07-17 14:18 Andy Shevchenko 2023-07-17 14:18 ` [PATCH v2 2/3] gpio: bcm-kona: remove unneeded platform_set_drvdata() call Andy Shevchenko ` (2 more replies) 0 siblings, 3 replies; 5+ messages in thread From: Andy Shevchenko @ 2023-07-17 14:18 UTC (permalink / raw) To: Bartosz Golaszewski, Andy Shevchenko, linux-gpio, linux-kernel Cc: Linus Walleij, Bartosz Golaszewski, Andy Shevchenko, Ray Jui, Broadcom internal kernel review list, Florian Fainelli, Scott Branden There is nothing in the driver that requires OF APIs, make the driver OF independent. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- v2: new patch drivers/gpio/Kconfig | 2 +- drivers/gpio/gpio-bcm-kona.c | 20 +++++++------------- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig index 638f0e771105..a70622d32a3b 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -191,7 +191,7 @@ config GPIO_RASPBERRYPI_EXP config GPIO_BCM_KONA bool "Broadcom Kona GPIO" - depends on OF_GPIO && (ARCH_BCM_MOBILE || COMPILE_TEST) + depends on ARCH_BCM_MOBILE || COMPILE_TEST help Turn on GPIO support for Broadcom "Kona" chips. diff --git a/drivers/gpio/gpio-bcm-kona.c b/drivers/gpio/gpio-bcm-kona.c index 70770429ba48..0aa7d710509d 100644 --- a/drivers/gpio/gpio-bcm-kona.c +++ b/drivers/gpio/gpio-bcm-kona.c @@ -8,12 +8,13 @@ #include <linux/bitops.h> #include <linux/err.h> -#include <linux/io.h> #include <linux/gpio/driver.h> -#include <linux/of_device.h> #include <linux/init.h> +#include <linux/io.h> #include <linux/irqdomain.h> #include <linux/irqchip/chained_irq.h> +#include <linux/mod_devicetable.h> +#include <linux/property.h> #define BCM_GPIO_PASSWD 0x00a5a501 #define GPIO_PER_BANK 32 @@ -556,19 +557,12 @@ static void bcm_kona_gpio_reset(struct bcm_kona_gpio *kona_gpio) static int bcm_kona_gpio_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; - const struct of_device_id *match; struct bcm_kona_gpio_bank *bank; struct bcm_kona_gpio *kona_gpio; struct gpio_chip *chip; int ret; int i; - match = of_match_device(bcm_kona_gpio_of_match, dev); - if (!match) { - dev_err(dev, "Failed to find gpio controller\n"); - return -ENODEV; - } - kona_gpio = devm_kzalloc(dev, sizeof(*kona_gpio), GFP_KERNEL); if (!kona_gpio) return -ENOMEM; @@ -601,10 +595,10 @@ static int bcm_kona_gpio_probe(struct platform_device *pdev) chip->parent = dev; chip->ngpio = kona_gpio->num_bank * GPIO_PER_BANK; - kona_gpio->irq_domain = irq_domain_add_linear(dev->of_node, - chip->ngpio, - &bcm_kona_irq_ops, - kona_gpio); + kona_gpio->irq_domain = irq_domain_create_linear(dev_fwnode(dev), + chip->ngpio, + &bcm_kona_irq_ops, + kona_gpio); if (!kona_gpio->irq_domain) { dev_err(dev, "Couldn't allocate IRQ domain\n"); return -ENXIO; -- 2.40.0.1.gaa8946217a0b ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v2 2/3] gpio: bcm-kona: remove unneeded platform_set_drvdata() call 2023-07-17 14:18 [PATCH v2 1/3] gpio: bcm-kona: Make driver OF-independent Andy Shevchenko @ 2023-07-17 14:18 ` Andy Shevchenko 2023-07-17 14:18 ` [PATCH v2 3/3] gpio: bcm-kona: Drop unused pdev member in private data structure Andy Shevchenko 2023-07-18 16:00 ` [PATCH v2 1/3] gpio: bcm-kona: Make driver OF-independent kernel test robot 2 siblings, 0 replies; 5+ messages in thread From: Andy Shevchenko @ 2023-07-17 14:18 UTC (permalink / raw) To: Bartosz Golaszewski, Andy Shevchenko, linux-gpio, linux-kernel Cc: Linus Walleij, Bartosz Golaszewski, Andy Shevchenko, Ray Jui, Broadcom internal kernel review list, Florian Fainelli, Scott Branden, Andrei Coardos, Alexandru Ardelean From: Andrei Coardos <aboutphysycs@gmail.com> The platform_set_drvdata() call was never used, ever since the driver was originally added. It looks like this copy+paste left-over. Possibly the author copied from a driver that had this line, but also had a remove hook. Reviewed-by: Alexandru Ardelean <alex@shruggie.ro> Signed-off-by: Andrei Coardos <aboutphysycs@gmail.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- v2: no changes drivers/gpio/gpio-bcm-kona.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/gpio/gpio-bcm-kona.c b/drivers/gpio/gpio-bcm-kona.c index 0aa7d710509d..9af1549ee0df 100644 --- a/drivers/gpio/gpio-bcm-kona.c +++ b/drivers/gpio/gpio-bcm-kona.c @@ -591,7 +591,6 @@ static int bcm_kona_gpio_probe(struct platform_device *pdev) return -ENOMEM; kona_gpio->pdev = pdev; - platform_set_drvdata(pdev, kona_gpio); chip->parent = dev; chip->ngpio = kona_gpio->num_bank * GPIO_PER_BANK; -- 2.40.0.1.gaa8946217a0b ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v2 3/3] gpio: bcm-kona: Drop unused pdev member in private data structure 2023-07-17 14:18 [PATCH v2 1/3] gpio: bcm-kona: Make driver OF-independent Andy Shevchenko 2023-07-17 14:18 ` [PATCH v2 2/3] gpio: bcm-kona: remove unneeded platform_set_drvdata() call Andy Shevchenko @ 2023-07-17 14:18 ` Andy Shevchenko 2023-07-18 19:27 ` kernel test robot 2023-07-18 16:00 ` [PATCH v2 1/3] gpio: bcm-kona: Make driver OF-independent kernel test robot 2 siblings, 1 reply; 5+ messages in thread From: Andy Shevchenko @ 2023-07-17 14:18 UTC (permalink / raw) To: Bartosz Golaszewski, Andy Shevchenko, linux-gpio, linux-kernel Cc: Linus Walleij, Bartosz Golaszewski, Andy Shevchenko, Ray Jui, Broadcom internal kernel review list, Florian Fainelli, Scott Branden The pdev member is assigned and not used, drop it. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- v2: new patch drivers/gpio/gpio-bcm-kona.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/gpio/gpio-bcm-kona.c b/drivers/gpio/gpio-bcm-kona.c index 9af1549ee0df..0e3fdb42b9ed 100644 --- a/drivers/gpio/gpio-bcm-kona.c +++ b/drivers/gpio/gpio-bcm-kona.c @@ -63,7 +63,6 @@ struct bcm_kona_gpio { struct gpio_chip gpio_chip; struct irq_domain *irq_domain; struct bcm_kona_gpio_bank *banks; - struct platform_device *pdev; }; struct bcm_kona_gpio_bank { @@ -590,7 +589,6 @@ static int bcm_kona_gpio_probe(struct platform_device *pdev) if (!kona_gpio->banks) return -ENOMEM; - kona_gpio->pdev = pdev; chip->parent = dev; chip->ngpio = kona_gpio->num_bank * GPIO_PER_BANK; -- 2.40.0.1.gaa8946217a0b ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v2 3/3] gpio: bcm-kona: Drop unused pdev member in private data structure 2023-07-17 14:18 ` [PATCH v2 3/3] gpio: bcm-kona: Drop unused pdev member in private data structure Andy Shevchenko @ 2023-07-18 19:27 ` kernel test robot 0 siblings, 0 replies; 5+ messages in thread From: kernel test robot @ 2023-07-18 19:27 UTC (permalink / raw) To: Andy Shevchenko, Bartosz Golaszewski, linux-gpio, linux-kernel Cc: oe-kbuild-all, Linus Walleij, Ray Jui, Broadcom internal kernel review list, Florian Fainelli, Scott Branden Hi Andy, kernel test robot noticed the following build warnings: [auto build test WARNING on brgl/gpio/for-next] [also build test WARNING on linus/master v6.5-rc2 next-20230718] [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/Andy-Shevchenko/gpio-bcm-kona-remove-unneeded-platform_set_drvdata-call/20230718-174129 base: https://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux.git gpio/for-next patch link: https://lore.kernel.org/r/20230717141845.41415-3-andriy.shevchenko%40linux.intel.com patch subject: [PATCH v2 3/3] gpio: bcm-kona: Drop unused pdev member in private data structure config: arm-allmodconfig (https://download.01.org/0day-ci/archive/20230719/202307190321.eqsdDbky-lkp@intel.com/config) compiler: arm-linux-gnueabi-gcc (GCC) 12.3.0 reproduce: (https://download.01.org/0day-ci/archive/20230719/202307190321.eqsdDbky-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202307190321.eqsdDbky-lkp@intel.com/ All warnings (new ones prefixed by >>): drivers/gpio/gpio-bcm-kona.c: In function 'bcm_kona_gpio_set_debounce': drivers/gpio/gpio-bcm-kona.c:265:17: error: implicit declaration of function 'dev_err' [-Werror=implicit-function-declaration] 265 | dev_err(chip->parent, "Debounce value %u not in range\n", | ^~~~~~~ drivers/gpio/gpio-bcm-kona.c: At top level: >> drivers/gpio/gpio-bcm-kona.c:556:39: warning: 'struct platform_device' declared inside parameter list will not be visible outside of this definition or declaration 556 | static int bcm_kona_gpio_probe(struct platform_device *pdev) | ^~~~~~~~~~~~~~~ drivers/gpio/gpio-bcm-kona.c: In function 'bcm_kona_gpio_probe': drivers/gpio/gpio-bcm-kona.c:558:35: error: invalid use of undefined type 'struct platform_device' 558 | struct device *dev = &pdev->dev; | ^~ drivers/gpio/gpio-bcm-kona.c:565:21: error: implicit declaration of function 'devm_kzalloc' [-Werror=implicit-function-declaration] 565 | kona_gpio = devm_kzalloc(dev, sizeof(*kona_gpio), GFP_KERNEL); | ^~~~~~~~~~~~ drivers/gpio/gpio-bcm-kona.c:565:19: warning: assignment to 'struct bcm_kona_gpio *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 565 | kona_gpio = devm_kzalloc(dev, sizeof(*kona_gpio), GFP_KERNEL); | ^ drivers/gpio/gpio-bcm-kona.c:571:15: error: implicit declaration of function 'platform_irq_count' [-Werror=implicit-function-declaration] 571 | ret = platform_irq_count(pdev); | ^~~~~~~~~~~~~~~~~~ drivers/gpio/gpio-bcm-kona.c:576:24: error: implicit declaration of function 'dev_err_probe' [-Werror=implicit-function-declaration] 576 | return dev_err_probe(dev, ret, "Couldn't determine GPIO banks\n"); | ^~~~~~~~~~~~~ drivers/gpio/gpio-bcm-kona.c:585:28: error: implicit declaration of function 'devm_kcalloc' [-Werror=implicit-function-declaration] 585 | kona_gpio->banks = devm_kcalloc(dev, | ^~~~~~~~~~~~ drivers/gpio/gpio-bcm-kona.c:585:26: warning: assignment to 'struct bcm_kona_gpio_bank *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 585 | kona_gpio->banks = devm_kcalloc(dev, | ^ drivers/gpio/gpio-bcm-kona.c:604:31: error: implicit declaration of function 'devm_platform_ioremap_resource' [-Werror=implicit-function-declaration] 604 | kona_gpio->reg_base = devm_platform_ioremap_resource(pdev, 0); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/gpio/gpio-bcm-kona.c:604:29: warning: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 604 | kona_gpio->reg_base = devm_platform_ioremap_resource(pdev, 0); | ^ drivers/gpio/gpio-bcm-kona.c:613:29: error: implicit declaration of function 'platform_get_irq' [-Werror=implicit-function-declaration] 613 | bank->irq = platform_get_irq(pdev, i); | ^~~~~~~~~~~~~~~~ drivers/gpio/gpio-bcm-kona.c:622:9: error: implicit declaration of function 'dev_info' [-Werror=implicit-function-declaration] 622 | dev_info(&pdev->dev, "Setting up Kona GPIO\n"); | ^~~~~~~~ drivers/gpio/gpio-bcm-kona.c:622:23: error: invalid use of undefined type 'struct platform_device' 622 | dev_info(&pdev->dev, "Setting up Kona GPIO\n"); | ^~ drivers/gpio/gpio-bcm-kona.c: At top level: drivers/gpio/gpio-bcm-kona.c:648:15: error: variable 'bcm_kona_gpio_driver' has initializer but incomplete type 648 | static struct platform_driver bcm_kona_gpio_driver = { | ^~~~~~~~~~~~~~~ drivers/gpio/gpio-bcm-kona.c:649:10: error: 'struct platform_driver' has no member named 'driver' 649 | .driver = { | ^~~~~~ drivers/gpio/gpio-bcm-kona.c:649:19: error: extra brace group at end of initializer 649 | .driver = { | ^ drivers/gpio/gpio-bcm-kona.c:649:19: note: (near initialization for 'bcm_kona_gpio_driver') drivers/gpio/gpio-bcm-kona.c:649:19: warning: excess elements in struct initializer drivers/gpio/gpio-bcm-kona.c:649:19: note: (near initialization for 'bcm_kona_gpio_driver') drivers/gpio/gpio-bcm-kona.c:653:10: error: 'struct platform_driver' has no member named 'probe' 653 | .probe = bcm_kona_gpio_probe, | ^~~~~ drivers/gpio/gpio-bcm-kona.c:653:18: warning: excess elements in struct initializer 653 | .probe = bcm_kona_gpio_probe, | ^~~~~~~~~~~~~~~~~~~ drivers/gpio/gpio-bcm-kona.c:653:18: note: (near initialization for 'bcm_kona_gpio_driver') drivers/gpio/gpio-bcm-kona.c:655:1: warning: data definition has no type or storage class 655 | builtin_platform_driver(bcm_kona_gpio_driver); | ^~~~~~~~~~~~~~~~~~~~~~~ drivers/gpio/gpio-bcm-kona.c:655:1: error: type defaults to 'int' in declaration of 'builtin_platform_driver' [-Werror=implicit-int] drivers/gpio/gpio-bcm-kona.c:655:1: warning: parameter names (without types) in function declaration drivers/gpio/gpio-bcm-kona.c:648:31: error: storage size of 'bcm_kona_gpio_driver' isn't known 648 | static struct platform_driver bcm_kona_gpio_driver = { | ^~~~~~~~~~~~~~~~~~~~ drivers/gpio/gpio-bcm-kona.c:648:31: warning: 'bcm_kona_gpio_driver' defined but not used [-Wunused-variable] cc1: some warnings being treated as errors Kconfig warnings: (for reference only) WARNING: unmet direct dependencies detected for SM_GCC_8350 Depends on [n]: COMMON_CLK [=y] && COMMON_CLK_QCOM [=m] && (ARM64 || COMPILE_TEST [=n]) Selected by [m]: - SM_VIDEOCC_8350 [=m] && COMMON_CLK [=y] && COMMON_CLK_QCOM [=m] WARNING: unmet direct dependencies detected for SM_GCC_8450 Depends on [n]: COMMON_CLK [=y] && COMMON_CLK_QCOM [=m] && (ARM64 || COMPILE_TEST [=n]) Selected by [m]: - SM_GPUCC_8450 [=m] && COMMON_CLK [=y] && COMMON_CLK_QCOM [=m] - SM_VIDEOCC_8450 [=m] && COMMON_CLK [=y] && COMMON_CLK_QCOM [=m] WARNING: unmet direct dependencies detected for SM_GCC_8550 Depends on [n]: COMMON_CLK [=y] && COMMON_CLK_QCOM [=m] && (ARM64 || COMPILE_TEST [=n]) Selected by [m]: - SM_GPUCC_8550 [=m] && COMMON_CLK [=y] && COMMON_CLK_QCOM [=m] - SM_VIDEOCC_8550 [=m] && COMMON_CLK [=y] && COMMON_CLK_QCOM [=m] vim +556 drivers/gpio/gpio-bcm-kona.c 757651e3d60e5b Markus Mayer 2013-09-10 555 757651e3d60e5b Markus Mayer 2013-09-10 @556 static int bcm_kona_gpio_probe(struct platform_device *pdev) 757651e3d60e5b Markus Mayer 2013-09-10 557 { 757651e3d60e5b Markus Mayer 2013-09-10 558 struct device *dev = &pdev->dev; 757651e3d60e5b Markus Mayer 2013-09-10 559 struct bcm_kona_gpio_bank *bank; 757651e3d60e5b Markus Mayer 2013-09-10 560 struct bcm_kona_gpio *kona_gpio; 757651e3d60e5b Markus Mayer 2013-09-10 561 struct gpio_chip *chip; 757651e3d60e5b Markus Mayer 2013-09-10 562 int ret; 757651e3d60e5b Markus Mayer 2013-09-10 563 int i; 757651e3d60e5b Markus Mayer 2013-09-10 564 757651e3d60e5b Markus Mayer 2013-09-10 565 kona_gpio = devm_kzalloc(dev, sizeof(*kona_gpio), GFP_KERNEL); 757651e3d60e5b Markus Mayer 2013-09-10 566 if (!kona_gpio) 757651e3d60e5b Markus Mayer 2013-09-10 567 return -ENOMEM; 757651e3d60e5b Markus Mayer 2013-09-10 568 757651e3d60e5b Markus Mayer 2013-09-10 569 kona_gpio->gpio_chip = template_chip; 757651e3d60e5b Markus Mayer 2013-09-10 570 chip = &kona_gpio->gpio_chip; cfdca14c44a79b Peng Fan 2019-12-04 571 ret = platform_irq_count(pdev); cfdca14c44a79b Peng Fan 2019-12-04 572 if (!ret) { 757651e3d60e5b Markus Mayer 2013-09-10 573 dev_err(dev, "Couldn't determine # GPIO banks\n"); 757651e3d60e5b Markus Mayer 2013-09-10 574 return -ENOENT; cfdca14c44a79b Peng Fan 2019-12-04 575 } else if (ret < 0) { cff9d73f3d6a9f Krzysztof Kozlowski 2020-08-27 576 return dev_err_probe(dev, ret, "Couldn't determine GPIO banks\n"); 757651e3d60e5b Markus Mayer 2013-09-10 577 } cfdca14c44a79b Peng Fan 2019-12-04 578 kona_gpio->num_bank = ret; cfdca14c44a79b Peng Fan 2019-12-04 579 757651e3d60e5b Markus Mayer 2013-09-10 580 if (kona_gpio->num_bank > GPIO_MAX_BANK_NUM) { 757651e3d60e5b Markus Mayer 2013-09-10 581 dev_err(dev, "Too many GPIO banks configured (max=%d)\n", 757651e3d60e5b Markus Mayer 2013-09-10 582 GPIO_MAX_BANK_NUM); 757651e3d60e5b Markus Mayer 2013-09-10 583 return -ENXIO; 757651e3d60e5b Markus Mayer 2013-09-10 584 } a86854d0c599b3 Kees Cook 2018-06-12 585 kona_gpio->banks = devm_kcalloc(dev, a86854d0c599b3 Kees Cook 2018-06-12 586 kona_gpio->num_bank, a86854d0c599b3 Kees Cook 2018-06-12 587 sizeof(*kona_gpio->banks), a86854d0c599b3 Kees Cook 2018-06-12 588 GFP_KERNEL); 757651e3d60e5b Markus Mayer 2013-09-10 589 if (!kona_gpio->banks) 757651e3d60e5b Markus Mayer 2013-09-10 590 return -ENOMEM; 757651e3d60e5b Markus Mayer 2013-09-10 591 45a541a610af81 Andy Shevchenko 2021-12-06 592 chip->parent = dev; 757651e3d60e5b Markus Mayer 2013-09-10 593 chip->ngpio = kona_gpio->num_bank * GPIO_PER_BANK; 757651e3d60e5b Markus Mayer 2013-09-10 594 71093d3e361dfb Andy Shevchenko 2023-07-17 595 kona_gpio->irq_domain = irq_domain_create_linear(dev_fwnode(dev), 757651e3d60e5b Markus Mayer 2013-09-10 596 chip->ngpio, 757651e3d60e5b Markus Mayer 2013-09-10 597 &bcm_kona_irq_ops, 757651e3d60e5b Markus Mayer 2013-09-10 598 kona_gpio); 757651e3d60e5b Markus Mayer 2013-09-10 599 if (!kona_gpio->irq_domain) { 757651e3d60e5b Markus Mayer 2013-09-10 600 dev_err(dev, "Couldn't allocate IRQ domain\n"); 757651e3d60e5b Markus Mayer 2013-09-10 601 return -ENXIO; 757651e3d60e5b Markus Mayer 2013-09-10 602 } 757651e3d60e5b Markus Mayer 2013-09-10 603 72d8cb71547772 Enrico Weigelt, metux IT consult 2019-03-11 604 kona_gpio->reg_base = devm_platform_ioremap_resource(pdev, 0); 757651e3d60e5b Markus Mayer 2013-09-10 605 if (IS_ERR(kona_gpio->reg_base)) { 98f7d1b15e87c8 Tiezhu Yang 2020-05-22 606 ret = PTR_ERR(kona_gpio->reg_base); 757651e3d60e5b Markus Mayer 2013-09-10 607 goto err_irq_domain; 757651e3d60e5b Markus Mayer 2013-09-10 608 } 757651e3d60e5b Markus Mayer 2013-09-10 609 757651e3d60e5b Markus Mayer 2013-09-10 610 for (i = 0; i < kona_gpio->num_bank; i++) { 757651e3d60e5b Markus Mayer 2013-09-10 611 bank = &kona_gpio->banks[i]; 757651e3d60e5b Markus Mayer 2013-09-10 612 bank->id = i; 757651e3d60e5b Markus Mayer 2013-09-10 613 bank->irq = platform_get_irq(pdev, i); 757651e3d60e5b Markus Mayer 2013-09-10 614 bank->kona_gpio = kona_gpio; 757651e3d60e5b Markus Mayer 2013-09-10 615 if (bank->irq < 0) { 757651e3d60e5b Markus Mayer 2013-09-10 616 dev_err(dev, "Couldn't get IRQ for bank %d", i); 757651e3d60e5b Markus Mayer 2013-09-10 617 ret = -ENOENT; 757651e3d60e5b Markus Mayer 2013-09-10 618 goto err_irq_domain; 757651e3d60e5b Markus Mayer 2013-09-10 619 } 757651e3d60e5b Markus Mayer 2013-09-10 620 } 757651e3d60e5b Markus Mayer 2013-09-10 621 23b4faa9a36257 Markus Mayer 2013-10-18 622 dev_info(&pdev->dev, "Setting up Kona GPIO\n"); 757651e3d60e5b Markus Mayer 2013-09-10 623 757651e3d60e5b Markus Mayer 2013-09-10 624 bcm_kona_gpio_reset(kona_gpio); 757651e3d60e5b Markus Mayer 2013-09-10 625 0b89312379e574 Laxman Dewangan 2016-02-22 626 ret = devm_gpiochip_add_data(dev, chip, kona_gpio); 757651e3d60e5b Markus Mayer 2013-09-10 627 if (ret < 0) { 757651e3d60e5b Markus Mayer 2013-09-10 628 dev_err(dev, "Couldn't add GPIO chip -- %d\n", ret); 757651e3d60e5b Markus Mayer 2013-09-10 629 goto err_irq_domain; 757651e3d60e5b Markus Mayer 2013-09-10 630 } 757651e3d60e5b Markus Mayer 2013-09-10 631 for (i = 0; i < kona_gpio->num_bank; i++) { 757651e3d60e5b Markus Mayer 2013-09-10 632 bank = &kona_gpio->banks[i]; b34cc62084e8c4 Thomas Gleixner 2015-06-21 633 irq_set_chained_handler_and_data(bank->irq, b34cc62084e8c4 Thomas Gleixner 2015-06-21 634 bcm_kona_gpio_irq_handler, b34cc62084e8c4 Thomas Gleixner 2015-06-21 635 bank); 757651e3d60e5b Markus Mayer 2013-09-10 636 } 757651e3d60e5b Markus Mayer 2013-09-10 637 c69fcea57e9d2b Julia Cartwright 2017-03-09 638 raw_spin_lock_init(&kona_gpio->lock); 757651e3d60e5b Markus Mayer 2013-09-10 639 757651e3d60e5b Markus Mayer 2013-09-10 640 return 0; 757651e3d60e5b Markus Mayer 2013-09-10 641 757651e3d60e5b Markus Mayer 2013-09-10 642 err_irq_domain: 757651e3d60e5b Markus Mayer 2013-09-10 643 irq_domain_remove(kona_gpio->irq_domain); 757651e3d60e5b Markus Mayer 2013-09-10 644 757651e3d60e5b Markus Mayer 2013-09-10 645 return ret; 757651e3d60e5b Markus Mayer 2013-09-10 646 } 757651e3d60e5b Markus Mayer 2013-09-10 647 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2 1/3] gpio: bcm-kona: Make driver OF-independent 2023-07-17 14:18 [PATCH v2 1/3] gpio: bcm-kona: Make driver OF-independent Andy Shevchenko 2023-07-17 14:18 ` [PATCH v2 2/3] gpio: bcm-kona: remove unneeded platform_set_drvdata() call Andy Shevchenko 2023-07-17 14:18 ` [PATCH v2 3/3] gpio: bcm-kona: Drop unused pdev member in private data structure Andy Shevchenko @ 2023-07-18 16:00 ` kernel test robot 2 siblings, 0 replies; 5+ messages in thread From: kernel test robot @ 2023-07-18 16:00 UTC (permalink / raw) To: Andy Shevchenko, Bartosz Golaszewski, linux-gpio, linux-kernel Cc: oe-kbuild-all, Linus Walleij, Ray Jui, Broadcom internal kernel review list, Florian Fainelli, Scott Branden Hi Andy, kernel test robot noticed the following build errors: [auto build test ERROR on brgl/gpio/for-next] [also build test ERROR on linus/master v6.5-rc2 next-20230718] [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/Andy-Shevchenko/gpio-bcm-kona-remove-unneeded-platform_set_drvdata-call/20230718-174129 base: https://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux.git gpio/for-next patch link: https://lore.kernel.org/r/20230717141845.41415-1-andriy.shevchenko%40linux.intel.com patch subject: [PATCH v2 1/3] gpio: bcm-kona: Make driver OF-independent config: arm-allmodconfig (https://download.01.org/0day-ci/archive/20230718/202307182321.w0jEsUc4-lkp@intel.com/config) compiler: arm-linux-gnueabi-gcc (GCC) 12.3.0 reproduce: (https://download.01.org/0day-ci/archive/20230718/202307182321.w0jEsUc4-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202307182321.w0jEsUc4-lkp@intel.com/ All error/warnings (new ones prefixed by >>): drivers/gpio/gpio-bcm-kona.c: In function 'bcm_kona_gpio_set_debounce': >> drivers/gpio/gpio-bcm-kona.c:266:17: error: implicit declaration of function 'dev_err' [-Werror=implicit-function-declaration] 266 | dev_err(chip->parent, "Debounce value %u not in range\n", | ^~~~~~~ drivers/gpio/gpio-bcm-kona.c: In function 'bcm_kona_gpio_probe': >> drivers/gpio/gpio-bcm-kona.c:559:35: error: invalid use of undefined type 'struct platform_device' 559 | struct device *dev = &pdev->dev; | ^~ >> drivers/gpio/gpio-bcm-kona.c:566:21: error: implicit declaration of function 'devm_kzalloc' [-Werror=implicit-function-declaration] 566 | kona_gpio = devm_kzalloc(dev, sizeof(*kona_gpio), GFP_KERNEL); | ^~~~~~~~~~~~ >> drivers/gpio/gpio-bcm-kona.c:566:19: warning: assignment to 'struct bcm_kona_gpio *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 566 | kona_gpio = devm_kzalloc(dev, sizeof(*kona_gpio), GFP_KERNEL); | ^ >> drivers/gpio/gpio-bcm-kona.c:572:15: error: implicit declaration of function 'platform_irq_count' [-Werror=implicit-function-declaration] 572 | ret = platform_irq_count(pdev); | ^~~~~~~~~~~~~~~~~~ >> drivers/gpio/gpio-bcm-kona.c:577:24: error: implicit declaration of function 'dev_err_probe' [-Werror=implicit-function-declaration] 577 | return dev_err_probe(dev, ret, "Couldn't determine GPIO banks\n"); | ^~~~~~~~~~~~~ >> drivers/gpio/gpio-bcm-kona.c:586:28: error: implicit declaration of function 'devm_kcalloc' [-Werror=implicit-function-declaration] 586 | kona_gpio->banks = devm_kcalloc(dev, | ^~~~~~~~~~~~ >> drivers/gpio/gpio-bcm-kona.c:586:26: warning: assignment to 'struct bcm_kona_gpio_bank *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 586 | kona_gpio->banks = devm_kcalloc(dev, | ^ drivers/gpio/gpio-bcm-kona.c:594:9: error: implicit declaration of function 'platform_set_drvdata' [-Werror=implicit-function-declaration] 594 | platform_set_drvdata(pdev, kona_gpio); | ^~~~~~~~~~~~~~~~~~~~ >> drivers/gpio/gpio-bcm-kona.c:607:31: error: implicit declaration of function 'devm_platform_ioremap_resource' [-Werror=implicit-function-declaration] 607 | kona_gpio->reg_base = devm_platform_ioremap_resource(pdev, 0); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/gpio/gpio-bcm-kona.c:607:29: warning: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 607 | kona_gpio->reg_base = devm_platform_ioremap_resource(pdev, 0); | ^ >> drivers/gpio/gpio-bcm-kona.c:616:29: error: implicit declaration of function 'platform_get_irq' [-Werror=implicit-function-declaration] 616 | bank->irq = platform_get_irq(pdev, i); | ^~~~~~~~~~~~~~~~ >> drivers/gpio/gpio-bcm-kona.c:625:9: error: implicit declaration of function 'dev_info' [-Werror=implicit-function-declaration] 625 | dev_info(&pdev->dev, "Setting up Kona GPIO\n"); | ^~~~~~~~ drivers/gpio/gpio-bcm-kona.c:625:23: error: invalid use of undefined type 'struct platform_device' 625 | dev_info(&pdev->dev, "Setting up Kona GPIO\n"); | ^~ drivers/gpio/gpio-bcm-kona.c: At top level: >> drivers/gpio/gpio-bcm-kona.c:651:15: error: variable 'bcm_kona_gpio_driver' has initializer but incomplete type 651 | static struct platform_driver bcm_kona_gpio_driver = { | ^~~~~~~~~~~~~~~ >> drivers/gpio/gpio-bcm-kona.c:652:10: error: 'struct platform_driver' has no member named 'driver' 652 | .driver = { | ^~~~~~ >> drivers/gpio/gpio-bcm-kona.c:652:19: error: extra brace group at end of initializer 652 | .driver = { | ^ drivers/gpio/gpio-bcm-kona.c:652:19: note: (near initialization for 'bcm_kona_gpio_driver') >> drivers/gpio/gpio-bcm-kona.c:652:19: warning: excess elements in struct initializer drivers/gpio/gpio-bcm-kona.c:652:19: note: (near initialization for 'bcm_kona_gpio_driver') >> drivers/gpio/gpio-bcm-kona.c:656:10: error: 'struct platform_driver' has no member named 'probe' 656 | .probe = bcm_kona_gpio_probe, | ^~~~~ drivers/gpio/gpio-bcm-kona.c:656:18: warning: excess elements in struct initializer 656 | .probe = bcm_kona_gpio_probe, | ^~~~~~~~~~~~~~~~~~~ drivers/gpio/gpio-bcm-kona.c:656:18: note: (near initialization for 'bcm_kona_gpio_driver') >> drivers/gpio/gpio-bcm-kona.c:658:1: warning: data definition has no type or storage class 658 | builtin_platform_driver(bcm_kona_gpio_driver); | ^~~~~~~~~~~~~~~~~~~~~~~ >> drivers/gpio/gpio-bcm-kona.c:658:1: error: type defaults to 'int' in declaration of 'builtin_platform_driver' [-Werror=implicit-int] >> drivers/gpio/gpio-bcm-kona.c:658:1: warning: parameter names (without types) in function declaration drivers/gpio/gpio-bcm-kona.c:651:31: error: storage size of 'bcm_kona_gpio_driver' isn't known 651 | static struct platform_driver bcm_kona_gpio_driver = { | ^~~~~~~~~~~~~~~~~~~~ drivers/gpio/gpio-bcm-kona.c:651:31: warning: 'bcm_kona_gpio_driver' defined but not used [-Wunused-variable] cc1: some warnings being treated as errors Kconfig warnings: (for reference only) WARNING: unmet direct dependencies detected for SM_GCC_8350 Depends on [n]: COMMON_CLK [=y] && COMMON_CLK_QCOM [=m] && (ARM64 || COMPILE_TEST [=n]) Selected by [m]: - SM_VIDEOCC_8350 [=m] && COMMON_CLK [=y] && COMMON_CLK_QCOM [=m] WARNING: unmet direct dependencies detected for SM_GCC_8450 Depends on [n]: COMMON_CLK [=y] && COMMON_CLK_QCOM [=m] && (ARM64 || COMPILE_TEST [=n]) Selected by [m]: - SM_GPUCC_8450 [=m] && COMMON_CLK [=y] && COMMON_CLK_QCOM [=m] - SM_VIDEOCC_8450 [=m] && COMMON_CLK [=y] && COMMON_CLK_QCOM [=m] WARNING: unmet direct dependencies detected for SM_GCC_8550 Depends on [n]: COMMON_CLK [=y] && COMMON_CLK_QCOM [=m] && (ARM64 || COMPILE_TEST [=n]) Selected by [m]: - SM_GPUCC_8550 [=m] && COMMON_CLK [=y] && COMMON_CLK_QCOM [=m] - SM_VIDEOCC_8550 [=m] && COMMON_CLK [=y] && COMMON_CLK_QCOM [=m] vim +/dev_err +266 drivers/gpio/gpio-bcm-kona.c 757651e3d60e5b Markus Mayer 2013-09-10 253 757651e3d60e5b Markus Mayer 2013-09-10 254 static int bcm_kona_gpio_set_debounce(struct gpio_chip *chip, unsigned gpio, 757651e3d60e5b Markus Mayer 2013-09-10 255 unsigned debounce) 757651e3d60e5b Markus Mayer 2013-09-10 256 { 757651e3d60e5b Markus Mayer 2013-09-10 257 struct bcm_kona_gpio *kona_gpio; 757651e3d60e5b Markus Mayer 2013-09-10 258 void __iomem *reg_base; 757651e3d60e5b Markus Mayer 2013-09-10 259 u32 val, res; 757651e3d60e5b Markus Mayer 2013-09-10 260 unsigned long flags; 757651e3d60e5b Markus Mayer 2013-09-10 261 ba4a74485a32c1 Linus Walleij 2015-12-04 262 kona_gpio = gpiochip_get_data(chip); 757651e3d60e5b Markus Mayer 2013-09-10 263 reg_base = kona_gpio->reg_base; 757651e3d60e5b Markus Mayer 2013-09-10 264 /* debounce must be 1-128ms (or 0) */ 757651e3d60e5b Markus Mayer 2013-09-10 265 if ((debounce > 0 && debounce < 1000) || debounce > 128000) { 58383c78425e4e Linus Walleij 2015-11-04 @266 dev_err(chip->parent, "Debounce value %u not in range\n", 757651e3d60e5b Markus Mayer 2013-09-10 267 debounce); 757651e3d60e5b Markus Mayer 2013-09-10 268 return -EINVAL; 757651e3d60e5b Markus Mayer 2013-09-10 269 } 757651e3d60e5b Markus Mayer 2013-09-10 270 757651e3d60e5b Markus Mayer 2013-09-10 271 /* calculate debounce bit value */ 757651e3d60e5b Markus Mayer 2013-09-10 272 if (debounce != 0) { 757651e3d60e5b Markus Mayer 2013-09-10 273 /* Convert to ms */ 757651e3d60e5b Markus Mayer 2013-09-10 274 debounce /= 1000; 757651e3d60e5b Markus Mayer 2013-09-10 275 /* find the MSB */ 757651e3d60e5b Markus Mayer 2013-09-10 276 res = fls(debounce) - 1; 757651e3d60e5b Markus Mayer 2013-09-10 277 /* Check if MSB-1 is set (round up or down) */ 757651e3d60e5b Markus Mayer 2013-09-10 278 if (res > 0 && (debounce & BIT(res - 1))) 757651e3d60e5b Markus Mayer 2013-09-10 279 res++; 757651e3d60e5b Markus Mayer 2013-09-10 280 } 757651e3d60e5b Markus Mayer 2013-09-10 281 757651e3d60e5b Markus Mayer 2013-09-10 282 /* spin lock for read-modify-write of the GPIO register */ c69fcea57e9d2b Julia Cartwright 2017-03-09 283 raw_spin_lock_irqsave(&kona_gpio->lock, flags); 757651e3d60e5b Markus Mayer 2013-09-10 284 757651e3d60e5b Markus Mayer 2013-09-10 285 val = readl(reg_base + GPIO_CONTROL(gpio)); 757651e3d60e5b Markus Mayer 2013-09-10 286 val &= ~GPIO_GPCTR0_DBR_MASK; 757651e3d60e5b Markus Mayer 2013-09-10 287 757651e3d60e5b Markus Mayer 2013-09-10 288 if (debounce == 0) { 757651e3d60e5b Markus Mayer 2013-09-10 289 /* disable debounce */ 757651e3d60e5b Markus Mayer 2013-09-10 290 val &= ~GPIO_GPCTR0_DB_ENABLE_MASK; 757651e3d60e5b Markus Mayer 2013-09-10 291 } else { 757651e3d60e5b Markus Mayer 2013-09-10 292 val |= GPIO_GPCTR0_DB_ENABLE_MASK | 757651e3d60e5b Markus Mayer 2013-09-10 293 (res << GPIO_GPCTR0_DBR_SHIFT); 757651e3d60e5b Markus Mayer 2013-09-10 294 } 757651e3d60e5b Markus Mayer 2013-09-10 295 757651e3d60e5b Markus Mayer 2013-09-10 296 writel(val, reg_base + GPIO_CONTROL(gpio)); 757651e3d60e5b Markus Mayer 2013-09-10 297 c69fcea57e9d2b Julia Cartwright 2017-03-09 298 raw_spin_unlock_irqrestore(&kona_gpio->lock, flags); 757651e3d60e5b Markus Mayer 2013-09-10 299 757651e3d60e5b Markus Mayer 2013-09-10 300 return 0; 757651e3d60e5b Markus Mayer 2013-09-10 301 } 757651e3d60e5b Markus Mayer 2013-09-10 302 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-07-18 19:28 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-07-17 14:18 [PATCH v2 1/3] gpio: bcm-kona: Make driver OF-independent Andy Shevchenko 2023-07-17 14:18 ` [PATCH v2 2/3] gpio: bcm-kona: remove unneeded platform_set_drvdata() call Andy Shevchenko 2023-07-17 14:18 ` [PATCH v2 3/3] gpio: bcm-kona: Drop unused pdev member in private data structure Andy Shevchenko 2023-07-18 19:27 ` kernel test robot 2023-07-18 16:00 ` [PATCH v2 1/3] gpio: bcm-kona: Make driver OF-independent kernel test robot
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).