All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org
Subject: drivers/pinctrl/qcom/pinctrl-lpass-lpi.c:458 lpi_config_set() error: uninitialized symbol 'strength'.
Date: Sat, 27 Feb 2021 12:21:52 +0300	[thread overview]
Message-ID: <20210227092152.GC2087@kadam> (raw)

[-- Attachment #1: Type: text/plain, Size: 7611 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   2c87f7a38f930ef6f6a7bdd04aeb82ce3971b54b
commit: 6e261d1090d6db0e9dd22978b6f38a2c58558a3f pinctrl: qcom: Add sm8250 lpass lpi pinctrl driver
config: arm64-randconfig-m031-20210226 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

New smatch warnings:
drivers/pinctrl/qcom/pinctrl-lpass-lpi.c:458 lpi_config_set() error: uninitialized symbol 'strength'.

Old smatch warnings:
drivers/pinctrl/qcom/pinctrl-lpass-lpi.c:457 lpi_config_set() error: uninitialized symbol 'pullup'.

vim +/strength +458 drivers/pinctrl/qcom/pinctrl-lpass-lpi.c

6e261d1090d6db Srinivas Kandagatla 2020-12-02  391  static int lpi_config_set(struct pinctrl_dev *pctldev, unsigned int group,
6e261d1090d6db Srinivas Kandagatla 2020-12-02  392  			  unsigned long *configs, unsigned int nconfs)
6e261d1090d6db Srinivas Kandagatla 2020-12-02  393  {
6e261d1090d6db Srinivas Kandagatla 2020-12-02  394  	struct lpi_pinctrl *pctrl = dev_get_drvdata(pctldev->dev);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  395  	unsigned int param, arg, pullup, strength;
                                                                                         ^^^^^^^^

6e261d1090d6db Srinivas Kandagatla 2020-12-02  396  	bool value, output_enabled = false;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  397  	const struct lpi_pingroup *g;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  398  	unsigned long sval;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  399  	int i, slew_offset;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  400  	u32 val;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  401  
6e261d1090d6db Srinivas Kandagatla 2020-12-02  402  	g = &pctrl->data->groups[group];
6e261d1090d6db Srinivas Kandagatla 2020-12-02  403  	for (i = 0; i < nconfs; i++) {
6e261d1090d6db Srinivas Kandagatla 2020-12-02  404  		param = pinconf_to_config_param(configs[i]);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  405  		arg = pinconf_to_config_argument(configs[i]);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  406  
6e261d1090d6db Srinivas Kandagatla 2020-12-02  407  		switch (param) {
6e261d1090d6db Srinivas Kandagatla 2020-12-02  408  		case PIN_CONFIG_BIAS_DISABLE:
6e261d1090d6db Srinivas Kandagatla 2020-12-02  409  			pullup = LPI_GPIO_BIAS_DISABLE;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  410  			break;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  411  		case PIN_CONFIG_BIAS_PULL_DOWN:
6e261d1090d6db Srinivas Kandagatla 2020-12-02  412  			pullup = LPI_GPIO_PULL_DOWN;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  413  			break;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  414  		case PIN_CONFIG_BIAS_BUS_HOLD:
6e261d1090d6db Srinivas Kandagatla 2020-12-02  415  			pullup = LPI_GPIO_KEEPER;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  416  			break;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  417  		case PIN_CONFIG_BIAS_PULL_UP:
6e261d1090d6db Srinivas Kandagatla 2020-12-02  418  			pullup = LPI_GPIO_PULL_UP;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  419  			break;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  420  		case PIN_CONFIG_INPUT_ENABLE:
6e261d1090d6db Srinivas Kandagatla 2020-12-02  421  			output_enabled = false;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  422  			break;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  423  		case PIN_CONFIG_OUTPUT:
6e261d1090d6db Srinivas Kandagatla 2020-12-02  424  			output_enabled = true;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  425  			value = arg;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  426  			break;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  427  		case PIN_CONFIG_DRIVE_STRENGTH:
6e261d1090d6db Srinivas Kandagatla 2020-12-02  428  			strength = arg;
                                                                        ^^^^^^^^^^^^^^^
Only initialized here.

6e261d1090d6db Srinivas Kandagatla 2020-12-02  429  			break;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  430  		case PIN_CONFIG_SLEW_RATE:
6e261d1090d6db Srinivas Kandagatla 2020-12-02  431  			if (arg > LPI_SLEW_RATE_MAX) {
6e261d1090d6db Srinivas Kandagatla 2020-12-02  432  				dev_err(pctldev->dev, "invalid slew rate %u for pin: %d\n",
6e261d1090d6db Srinivas Kandagatla 2020-12-02  433  					arg, group);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  434  				return -EINVAL;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  435  			}
6e261d1090d6db Srinivas Kandagatla 2020-12-02  436  
6e261d1090d6db Srinivas Kandagatla 2020-12-02  437  			slew_offset = g->slew_offset;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  438  			if (slew_offset == NO_SLEW)
6e261d1090d6db Srinivas Kandagatla 2020-12-02  439  				break;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  440  
6e261d1090d6db Srinivas Kandagatla 2020-12-02  441  			mutex_lock(&pctrl->slew_access_lock);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  442  
6e261d1090d6db Srinivas Kandagatla 2020-12-02  443  			sval = ioread32(pctrl->slew_base + LPI_SLEW_RATE_CTL_REG);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  444  			sval &= ~(LPI_SLEW_RATE_MASK << slew_offset);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  445  			sval |= arg << slew_offset;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  446  			iowrite32(sval, pctrl->slew_base + LPI_SLEW_RATE_CTL_REG);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  447  
6e261d1090d6db Srinivas Kandagatla 2020-12-02  448  			mutex_unlock(&pctrl->slew_access_lock);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  449  			break;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  450  		default:
6e261d1090d6db Srinivas Kandagatla 2020-12-02  451  			return -EINVAL;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  452  		}
6e261d1090d6db Srinivas Kandagatla 2020-12-02  453  	}
6e261d1090d6db Srinivas Kandagatla 2020-12-02  454  
6e261d1090d6db Srinivas Kandagatla 2020-12-02  455  	val = lpi_gpio_read(pctrl, group, LPI_GPIO_CFG_REG);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  456  
6e261d1090d6db Srinivas Kandagatla 2020-12-02  457  	u32p_replace_bits(&val, pullup, LPI_GPIO_PULL_MASK);
6e261d1090d6db Srinivas Kandagatla 2020-12-02 @458  	u32p_replace_bits(&val, LPI_GPIO_DS_TO_VAL(strength),
                                                                                                   ^^^^^^^^

6e261d1090d6db Srinivas Kandagatla 2020-12-02  459  			  LPI_GPIO_OUT_STRENGTH_MASK);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  460  	u32p_replace_bits(&val, output_enabled, LPI_GPIO_OE_MASK);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  461  
6e261d1090d6db Srinivas Kandagatla 2020-12-02  462  	lpi_gpio_write(pctrl, group, LPI_GPIO_CFG_REG, val);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  463  
6e261d1090d6db Srinivas Kandagatla 2020-12-02  464  	if (output_enabled) {
6e261d1090d6db Srinivas Kandagatla 2020-12-02  465  		val = u32_encode_bits(value ? 1 : 0, LPI_GPIO_VALUE_OUT_MASK);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  466  		lpi_gpio_write(pctrl, group, LPI_GPIO_VALUE_REG, val);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  467  	}
6e261d1090d6db Srinivas Kandagatla 2020-12-02  468  
6e261d1090d6db Srinivas Kandagatla 2020-12-02  469  	return 0;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  470  }

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 32773 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild-all@lists.01.org
Subject: drivers/pinctrl/qcom/pinctrl-lpass-lpi.c:458 lpi_config_set() error: uninitialized symbol 'strength'.
Date: Sat, 27 Feb 2021 12:21:52 +0300	[thread overview]
Message-ID: <20210227092152.GC2087@kadam> (raw)

[-- Attachment #1: Type: text/plain, Size: 7611 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   2c87f7a38f930ef6f6a7bdd04aeb82ce3971b54b
commit: 6e261d1090d6db0e9dd22978b6f38a2c58558a3f pinctrl: qcom: Add sm8250 lpass lpi pinctrl driver
config: arm64-randconfig-m031-20210226 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

New smatch warnings:
drivers/pinctrl/qcom/pinctrl-lpass-lpi.c:458 lpi_config_set() error: uninitialized symbol 'strength'.

Old smatch warnings:
drivers/pinctrl/qcom/pinctrl-lpass-lpi.c:457 lpi_config_set() error: uninitialized symbol 'pullup'.

vim +/strength +458 drivers/pinctrl/qcom/pinctrl-lpass-lpi.c

6e261d1090d6db Srinivas Kandagatla 2020-12-02  391  static int lpi_config_set(struct pinctrl_dev *pctldev, unsigned int group,
6e261d1090d6db Srinivas Kandagatla 2020-12-02  392  			  unsigned long *configs, unsigned int nconfs)
6e261d1090d6db Srinivas Kandagatla 2020-12-02  393  {
6e261d1090d6db Srinivas Kandagatla 2020-12-02  394  	struct lpi_pinctrl *pctrl = dev_get_drvdata(pctldev->dev);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  395  	unsigned int param, arg, pullup, strength;
                                                                                         ^^^^^^^^

6e261d1090d6db Srinivas Kandagatla 2020-12-02  396  	bool value, output_enabled = false;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  397  	const struct lpi_pingroup *g;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  398  	unsigned long sval;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  399  	int i, slew_offset;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  400  	u32 val;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  401  
6e261d1090d6db Srinivas Kandagatla 2020-12-02  402  	g = &pctrl->data->groups[group];
6e261d1090d6db Srinivas Kandagatla 2020-12-02  403  	for (i = 0; i < nconfs; i++) {
6e261d1090d6db Srinivas Kandagatla 2020-12-02  404  		param = pinconf_to_config_param(configs[i]);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  405  		arg = pinconf_to_config_argument(configs[i]);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  406  
6e261d1090d6db Srinivas Kandagatla 2020-12-02  407  		switch (param) {
6e261d1090d6db Srinivas Kandagatla 2020-12-02  408  		case PIN_CONFIG_BIAS_DISABLE:
6e261d1090d6db Srinivas Kandagatla 2020-12-02  409  			pullup = LPI_GPIO_BIAS_DISABLE;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  410  			break;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  411  		case PIN_CONFIG_BIAS_PULL_DOWN:
6e261d1090d6db Srinivas Kandagatla 2020-12-02  412  			pullup = LPI_GPIO_PULL_DOWN;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  413  			break;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  414  		case PIN_CONFIG_BIAS_BUS_HOLD:
6e261d1090d6db Srinivas Kandagatla 2020-12-02  415  			pullup = LPI_GPIO_KEEPER;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  416  			break;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  417  		case PIN_CONFIG_BIAS_PULL_UP:
6e261d1090d6db Srinivas Kandagatla 2020-12-02  418  			pullup = LPI_GPIO_PULL_UP;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  419  			break;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  420  		case PIN_CONFIG_INPUT_ENABLE:
6e261d1090d6db Srinivas Kandagatla 2020-12-02  421  			output_enabled = false;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  422  			break;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  423  		case PIN_CONFIG_OUTPUT:
6e261d1090d6db Srinivas Kandagatla 2020-12-02  424  			output_enabled = true;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  425  			value = arg;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  426  			break;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  427  		case PIN_CONFIG_DRIVE_STRENGTH:
6e261d1090d6db Srinivas Kandagatla 2020-12-02  428  			strength = arg;
                                                                        ^^^^^^^^^^^^^^^
Only initialized here.

6e261d1090d6db Srinivas Kandagatla 2020-12-02  429  			break;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  430  		case PIN_CONFIG_SLEW_RATE:
6e261d1090d6db Srinivas Kandagatla 2020-12-02  431  			if (arg > LPI_SLEW_RATE_MAX) {
6e261d1090d6db Srinivas Kandagatla 2020-12-02  432  				dev_err(pctldev->dev, "invalid slew rate %u for pin: %d\n",
6e261d1090d6db Srinivas Kandagatla 2020-12-02  433  					arg, group);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  434  				return -EINVAL;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  435  			}
6e261d1090d6db Srinivas Kandagatla 2020-12-02  436  
6e261d1090d6db Srinivas Kandagatla 2020-12-02  437  			slew_offset = g->slew_offset;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  438  			if (slew_offset == NO_SLEW)
6e261d1090d6db Srinivas Kandagatla 2020-12-02  439  				break;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  440  
6e261d1090d6db Srinivas Kandagatla 2020-12-02  441  			mutex_lock(&pctrl->slew_access_lock);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  442  
6e261d1090d6db Srinivas Kandagatla 2020-12-02  443  			sval = ioread32(pctrl->slew_base + LPI_SLEW_RATE_CTL_REG);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  444  			sval &= ~(LPI_SLEW_RATE_MASK << slew_offset);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  445  			sval |= arg << slew_offset;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  446  			iowrite32(sval, pctrl->slew_base + LPI_SLEW_RATE_CTL_REG);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  447  
6e261d1090d6db Srinivas Kandagatla 2020-12-02  448  			mutex_unlock(&pctrl->slew_access_lock);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  449  			break;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  450  		default:
6e261d1090d6db Srinivas Kandagatla 2020-12-02  451  			return -EINVAL;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  452  		}
6e261d1090d6db Srinivas Kandagatla 2020-12-02  453  	}
6e261d1090d6db Srinivas Kandagatla 2020-12-02  454  
6e261d1090d6db Srinivas Kandagatla 2020-12-02  455  	val = lpi_gpio_read(pctrl, group, LPI_GPIO_CFG_REG);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  456  
6e261d1090d6db Srinivas Kandagatla 2020-12-02  457  	u32p_replace_bits(&val, pullup, LPI_GPIO_PULL_MASK);
6e261d1090d6db Srinivas Kandagatla 2020-12-02 @458  	u32p_replace_bits(&val, LPI_GPIO_DS_TO_VAL(strength),
                                                                                                   ^^^^^^^^

6e261d1090d6db Srinivas Kandagatla 2020-12-02  459  			  LPI_GPIO_OUT_STRENGTH_MASK);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  460  	u32p_replace_bits(&val, output_enabled, LPI_GPIO_OE_MASK);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  461  
6e261d1090d6db Srinivas Kandagatla 2020-12-02  462  	lpi_gpio_write(pctrl, group, LPI_GPIO_CFG_REG, val);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  463  
6e261d1090d6db Srinivas Kandagatla 2020-12-02  464  	if (output_enabled) {
6e261d1090d6db Srinivas Kandagatla 2020-12-02  465  		val = u32_encode_bits(value ? 1 : 0, LPI_GPIO_VALUE_OUT_MASK);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  466  		lpi_gpio_write(pctrl, group, LPI_GPIO_VALUE_REG, val);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  467  	}
6e261d1090d6db Srinivas Kandagatla 2020-12-02  468  
6e261d1090d6db Srinivas Kandagatla 2020-12-02  469  	return 0;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  470  }

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 32773 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org,
	Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Cc: lkp@intel.com, kbuild-all@lists.01.org,
	linux-kernel@vger.kernel.org,
	Linus Walleij <linus.walleij@linaro.org>,
	Bjorn Andersson <bjorn.andersson@linaro.org>
Subject: drivers/pinctrl/qcom/pinctrl-lpass-lpi.c:458 lpi_config_set() error: uninitialized symbol 'strength'.
Date: Sat, 27 Feb 2021 12:21:52 +0300	[thread overview]
Message-ID: <20210227092152.GC2087@kadam> (raw)

[-- Attachment #1: Type: text/plain, Size: 7500 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   2c87f7a38f930ef6f6a7bdd04aeb82ce3971b54b
commit: 6e261d1090d6db0e9dd22978b6f38a2c58558a3f pinctrl: qcom: Add sm8250 lpass lpi pinctrl driver
config: arm64-randconfig-m031-20210226 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

New smatch warnings:
drivers/pinctrl/qcom/pinctrl-lpass-lpi.c:458 lpi_config_set() error: uninitialized symbol 'strength'.

Old smatch warnings:
drivers/pinctrl/qcom/pinctrl-lpass-lpi.c:457 lpi_config_set() error: uninitialized symbol 'pullup'.

vim +/strength +458 drivers/pinctrl/qcom/pinctrl-lpass-lpi.c

6e261d1090d6db Srinivas Kandagatla 2020-12-02  391  static int lpi_config_set(struct pinctrl_dev *pctldev, unsigned int group,
6e261d1090d6db Srinivas Kandagatla 2020-12-02  392  			  unsigned long *configs, unsigned int nconfs)
6e261d1090d6db Srinivas Kandagatla 2020-12-02  393  {
6e261d1090d6db Srinivas Kandagatla 2020-12-02  394  	struct lpi_pinctrl *pctrl = dev_get_drvdata(pctldev->dev);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  395  	unsigned int param, arg, pullup, strength;
                                                                                         ^^^^^^^^

6e261d1090d6db Srinivas Kandagatla 2020-12-02  396  	bool value, output_enabled = false;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  397  	const struct lpi_pingroup *g;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  398  	unsigned long sval;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  399  	int i, slew_offset;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  400  	u32 val;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  401  
6e261d1090d6db Srinivas Kandagatla 2020-12-02  402  	g = &pctrl->data->groups[group];
6e261d1090d6db Srinivas Kandagatla 2020-12-02  403  	for (i = 0; i < nconfs; i++) {
6e261d1090d6db Srinivas Kandagatla 2020-12-02  404  		param = pinconf_to_config_param(configs[i]);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  405  		arg = pinconf_to_config_argument(configs[i]);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  406  
6e261d1090d6db Srinivas Kandagatla 2020-12-02  407  		switch (param) {
6e261d1090d6db Srinivas Kandagatla 2020-12-02  408  		case PIN_CONFIG_BIAS_DISABLE:
6e261d1090d6db Srinivas Kandagatla 2020-12-02  409  			pullup = LPI_GPIO_BIAS_DISABLE;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  410  			break;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  411  		case PIN_CONFIG_BIAS_PULL_DOWN:
6e261d1090d6db Srinivas Kandagatla 2020-12-02  412  			pullup = LPI_GPIO_PULL_DOWN;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  413  			break;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  414  		case PIN_CONFIG_BIAS_BUS_HOLD:
6e261d1090d6db Srinivas Kandagatla 2020-12-02  415  			pullup = LPI_GPIO_KEEPER;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  416  			break;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  417  		case PIN_CONFIG_BIAS_PULL_UP:
6e261d1090d6db Srinivas Kandagatla 2020-12-02  418  			pullup = LPI_GPIO_PULL_UP;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  419  			break;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  420  		case PIN_CONFIG_INPUT_ENABLE:
6e261d1090d6db Srinivas Kandagatla 2020-12-02  421  			output_enabled = false;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  422  			break;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  423  		case PIN_CONFIG_OUTPUT:
6e261d1090d6db Srinivas Kandagatla 2020-12-02  424  			output_enabled = true;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  425  			value = arg;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  426  			break;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  427  		case PIN_CONFIG_DRIVE_STRENGTH:
6e261d1090d6db Srinivas Kandagatla 2020-12-02  428  			strength = arg;
                                                                        ^^^^^^^^^^^^^^^
Only initialized here.

6e261d1090d6db Srinivas Kandagatla 2020-12-02  429  			break;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  430  		case PIN_CONFIG_SLEW_RATE:
6e261d1090d6db Srinivas Kandagatla 2020-12-02  431  			if (arg > LPI_SLEW_RATE_MAX) {
6e261d1090d6db Srinivas Kandagatla 2020-12-02  432  				dev_err(pctldev->dev, "invalid slew rate %u for pin: %d\n",
6e261d1090d6db Srinivas Kandagatla 2020-12-02  433  					arg, group);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  434  				return -EINVAL;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  435  			}
6e261d1090d6db Srinivas Kandagatla 2020-12-02  436  
6e261d1090d6db Srinivas Kandagatla 2020-12-02  437  			slew_offset = g->slew_offset;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  438  			if (slew_offset == NO_SLEW)
6e261d1090d6db Srinivas Kandagatla 2020-12-02  439  				break;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  440  
6e261d1090d6db Srinivas Kandagatla 2020-12-02  441  			mutex_lock(&pctrl->slew_access_lock);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  442  
6e261d1090d6db Srinivas Kandagatla 2020-12-02  443  			sval = ioread32(pctrl->slew_base + LPI_SLEW_RATE_CTL_REG);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  444  			sval &= ~(LPI_SLEW_RATE_MASK << slew_offset);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  445  			sval |= arg << slew_offset;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  446  			iowrite32(sval, pctrl->slew_base + LPI_SLEW_RATE_CTL_REG);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  447  
6e261d1090d6db Srinivas Kandagatla 2020-12-02  448  			mutex_unlock(&pctrl->slew_access_lock);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  449  			break;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  450  		default:
6e261d1090d6db Srinivas Kandagatla 2020-12-02  451  			return -EINVAL;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  452  		}
6e261d1090d6db Srinivas Kandagatla 2020-12-02  453  	}
6e261d1090d6db Srinivas Kandagatla 2020-12-02  454  
6e261d1090d6db Srinivas Kandagatla 2020-12-02  455  	val = lpi_gpio_read(pctrl, group, LPI_GPIO_CFG_REG);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  456  
6e261d1090d6db Srinivas Kandagatla 2020-12-02  457  	u32p_replace_bits(&val, pullup, LPI_GPIO_PULL_MASK);
6e261d1090d6db Srinivas Kandagatla 2020-12-02 @458  	u32p_replace_bits(&val, LPI_GPIO_DS_TO_VAL(strength),
                                                                                                   ^^^^^^^^

6e261d1090d6db Srinivas Kandagatla 2020-12-02  459  			  LPI_GPIO_OUT_STRENGTH_MASK);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  460  	u32p_replace_bits(&val, output_enabled, LPI_GPIO_OE_MASK);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  461  
6e261d1090d6db Srinivas Kandagatla 2020-12-02  462  	lpi_gpio_write(pctrl, group, LPI_GPIO_CFG_REG, val);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  463  
6e261d1090d6db Srinivas Kandagatla 2020-12-02  464  	if (output_enabled) {
6e261d1090d6db Srinivas Kandagatla 2020-12-02  465  		val = u32_encode_bits(value ? 1 : 0, LPI_GPIO_VALUE_OUT_MASK);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  466  		lpi_gpio_write(pctrl, group, LPI_GPIO_VALUE_REG, val);
6e261d1090d6db Srinivas Kandagatla 2020-12-02  467  	}
6e261d1090d6db Srinivas Kandagatla 2020-12-02  468  
6e261d1090d6db Srinivas Kandagatla 2020-12-02  469  	return 0;
6e261d1090d6db Srinivas Kandagatla 2020-12-02  470  }

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 32773 bytes --]

             reply	other threads:[~2021-02-27  9:21 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-27  9:21 Dan Carpenter [this message]
2021-02-27  9:21 ` drivers/pinctrl/qcom/pinctrl-lpass-lpi.c:458 lpi_config_set() error: uninitialized symbol 'strength' Dan Carpenter
2021-02-27  9:21 ` Dan Carpenter
2021-03-02 15:47 ` Linus Walleij
2021-03-02 15:47   ` Linus Walleij
2021-03-02 16:28   ` Dan Carpenter
2021-03-02 16:28     ` Dan Carpenter
2021-03-02 16:28     ` Dan Carpenter
2021-03-02 16:32     ` Dan Carpenter
2021-03-02 16:32       ` Dan Carpenter
2021-03-02 16:32       ` Dan Carpenter
2021-03-02 16:53   ` Bjorn Andersson
2021-03-02 16:53     ` Bjorn Andersson
2021-03-02 17:01   ` Dan Carpenter
2021-03-02 17:01     ` Dan Carpenter
2021-03-02 17:01     ` Dan Carpenter
  -- strict thread matches above, loose matches on Subject: below --
2021-02-26 17:41 kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210227092152.GC2087@kadam \
    --to=dan.carpenter@oracle.com \
    --cc=kbuild@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.