diff mbox series

[3/4] pinctrl: armada-37xx: Checks for errors in gpio_request_enable callback

Message ID 20220804104915.23719-3-pali@kernel.org (mailing list archive)
State New, archived
Headers show
Series [1/4] pinctrl: armada-37xx: Add missing GPIO-only pins | expand

Commit Message

Pali Rohár Aug. 4, 2022, 10:49 a.m. UTC
Now when all MPP pins are properly defined and every MPP pin has GPIO
function, always checks for errors in armada_37xx_gpio_request_enable()
function when calling armada_37xx_pmx_set_by_name(). Function
armada_37xx_pmx_set_by_name() should not return "not supported" error
anymore for any GPIO pin when requesting GPIO mode.

Fixes: 87466ccd9401 ("pinctrl: armada-37xx: Add pin controller support for Armada 37xx")
Signed-off-by: Pali Rohár <pali@kernel.org>
---
 drivers/pinctrl/mvebu/pinctrl-armada-37xx.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

Comments

kernel test robot Aug. 5, 2022, 3:34 a.m. UTC | #1
Hi "Pali,

I love your patch! Yet something to improve:

[auto build test ERROR on linusw-pinctrl/devel]
[also build test ERROR on linus/master v5.19 next-20220804]
[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/Pali-Roh-r/pinctrl-armada-37xx-Add-missing-GPIO-only-pins/20220804-185128
base:   https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git devel
config: arm64-randconfig-r024-20220804 (https://download.01.org/0day-ci/archive/20220805/202208051108.mGXAaXhr-lkp@intel.com/config)
compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project 26dd42705c2af0b8f6e5d6cdb32c9bd5ed9524eb)
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
        # install arm64 cross compiling tool for clang build
        # apt-get install binutils-aarch64-linux-gnu
        # https://github.com/intel-lab-lkp/linux/commit/eafc74555d185a2f106a91f29e9884ef4c2e0458
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Pali-Roh-r/pinctrl-armada-37xx-Add-missing-GPIO-only-pins/20220804-185128
        git checkout eafc74555d185a2f106a91f29e9884ef4c2e0458
        # 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=arm64 SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

>> drivers/pinctrl/mvebu/pinctrl-armada-37xx.c:507:3: error: use of undeclared identifier 'ret'
                   ret = armada_37xx_pmx_set_by_name(pctldev, "gpio", group);
                   ^
   drivers/pinctrl/mvebu/pinctrl-armada-37xx.c:508:7: error: use of undeclared identifier 'ret'
                   if (ret)
                       ^
   drivers/pinctrl/mvebu/pinctrl-armada-37xx.c:509:11: error: use of undeclared identifier 'ret'
                           return ret;
                                  ^
   drivers/pinctrl/mvebu/pinctrl-armada-37xx.c:834:6: warning: variable 'i' set but not used [-Wunused-but-set-variable]
           int i = 0;
               ^
   1 warning and 3 errors generated.


vim +/ret +507 drivers/pinctrl/mvebu/pinctrl-armada-37xx.c

   495	
   496	static int armada_37xx_gpio_request_enable(struct pinctrl_dev *pctldev,
   497						   struct pinctrl_gpio_range *range,
   498						   unsigned int offset)
   499	{
   500		struct armada_37xx_pinctrl *info = pinctrl_dev_get_drvdata(pctldev);
   501		struct armada_37xx_pin_group *group;
   502		int grp = 0;
   503	
   504		dev_dbg(info->dev, "requesting gpio %d\n", offset);
   505	
   506		while ((group = armada_37xx_find_next_grp_by_pin(info, offset, &grp))) {
 > 507			ret = armada_37xx_pmx_set_by_name(pctldev, "gpio", group);
   508			if (ret)
   509				return ret;
   510		}
   511	
   512		return 0;
   513	}
   514
diff mbox series

Patch

diff --git a/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c b/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c
index e5e5f0ea0e77..8978e6c15905 100644
--- a/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c
+++ b/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c
@@ -503,8 +503,11 @@  static int armada_37xx_gpio_request_enable(struct pinctrl_dev *pctldev,
 
 	dev_dbg(info->dev, "requesting gpio %d\n", offset);
 
-	while ((group = armada_37xx_find_next_grp_by_pin(info, offset, &grp)))
-		armada_37xx_pmx_set_by_name(pctldev, "gpio", group);
+	while ((group = armada_37xx_find_next_grp_by_pin(info, offset, &grp))) {
+		ret = armada_37xx_pmx_set_by_name(pctldev, "gpio", group);
+		if (ret)
+			return ret;
+	}
 
 	return 0;
 }