All of lore.kernel.org
 help / color / mirror / Atom feed
* drivers/pinctrl/qcom/pinctrl-lpass-lpi.c:458 lpi_config_set() error: uninitialized symbol 'strength'.
@ 2021-02-27  9:21 ` Dan Carpenter
  0 siblings, 0 replies; 17+ messages in thread
From: Dan Carpenter @ 2021-02-27  9:21 UTC (permalink / raw)
  To: kbuild, Srinivas Kandagatla
  Cc: lkp, kbuild-all, linux-kernel, Linus Walleij, Bjorn Andersson

[-- 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 --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* drivers/pinctrl/qcom/pinctrl-lpass-lpi.c:458 lpi_config_set() error: uninitialized symbol 'strength'.
@ 2021-02-27  9:21 ` Dan Carpenter
  0 siblings, 0 replies; 17+ messages in thread
From: Dan Carpenter @ 2021-02-27  9:21 UTC (permalink / raw)
  To: kbuild

[-- 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 --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* drivers/pinctrl/qcom/pinctrl-lpass-lpi.c:458 lpi_config_set() error: uninitialized symbol 'strength'.
@ 2021-02-27  9:21 ` Dan Carpenter
  0 siblings, 0 replies; 17+ messages in thread
From: Dan Carpenter @ 2021-02-27  9:21 UTC (permalink / raw)
  To: kbuild-all

[-- 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 --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: drivers/pinctrl/qcom/pinctrl-lpass-lpi.c:458 lpi_config_set() error: uninitialized symbol 'strength'.
  2021-02-27  9:21 ` Dan Carpenter
@ 2021-03-02 15:47   ` Linus Walleij
  -1 siblings, 0 replies; 17+ messages in thread
From: Linus Walleij @ 2021-03-02 15:47 UTC (permalink / raw)
  To: Dan Carpenter, Srinivas Kandagatla
  Cc: kbuild, kbuild test robot, kbuild-all, linux-kernel, Bjorn Andersson

On Sat, Feb 27, 2021 at 10:22 AM Dan Carpenter <dan.carpenter@oracle.com> wrote:

> 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'.

I don't think these are real problems, but maybe there is some way to explicitly
express that so that smatch knows as well?

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: drivers/pinctrl/qcom/pinctrl-lpass-lpi.c:458 lpi_config_set() error: uninitialized symbol 'strength'.
@ 2021-03-02 15:47   ` Linus Walleij
  0 siblings, 0 replies; 17+ messages in thread
From: Linus Walleij @ 2021-03-02 15:47 UTC (permalink / raw)
  To: kbuild-all

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

On Sat, Feb 27, 2021 at 10:22 AM Dan Carpenter <dan.carpenter@oracle.com> wrote:

> 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'.

I don't think these are real problems, but maybe there is some way to explicitly
express that so that smatch knows as well?

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: drivers/pinctrl/qcom/pinctrl-lpass-lpi.c:458 lpi_config_set() error: uninitialized symbol 'strength'.
  2021-03-02 15:47   ` Linus Walleij
  (?)
@ 2021-03-02 16:28     ` Dan Carpenter
  -1 siblings, 0 replies; 17+ messages in thread
From: Dan Carpenter @ 2021-03-02 16:28 UTC (permalink / raw)
  To: Linus Walleij
  Cc: Srinivas Kandagatla, kbuild, kbuild test robot, kbuild-all,
	linux-kernel, Bjorn Andersson

On Tue, Mar 02, 2021 at 04:47:01PM +0100, Linus Walleij wrote:
> On Sat, Feb 27, 2021 at 10:22 AM Dan Carpenter <dan.carpenter@oracle.com> wrote:
> 
> > 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'.
> 
> I don't think these are real problems, but maybe there is some way to explicitly
> express that so that smatch knows as well?

They will call syzbot warning at runtime as well.  Syzbot complains
about the read, and not that the value is important for flow analysis.

regards,
dan carpenter


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: drivers/pinctrl/qcom/pinctrl-lpass-lpi.c:458 lpi_config_set() error: uninitialized symbol 'strength'.
@ 2021-03-02 16:28     ` Dan Carpenter
  0 siblings, 0 replies; 17+ messages in thread
From: Dan Carpenter @ 2021-03-02 16:28 UTC (permalink / raw)
  To: kbuild

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

On Tue, Mar 02, 2021 at 04:47:01PM +0100, Linus Walleij wrote:
> On Sat, Feb 27, 2021 at 10:22 AM Dan Carpenter <dan.carpenter@oracle.com> wrote:
> 
> > 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'.
> 
> I don't think these are real problems, but maybe there is some way to explicitly
> express that so that smatch knows as well?

They will call syzbot warning at runtime as well.  Syzbot complains
about the read, and not that the value is important for flow analysis.

regards,
dan carpenter

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: drivers/pinctrl/qcom/pinctrl-lpass-lpi.c:458 lpi_config_set() error: uninitialized symbol 'strength'.
@ 2021-03-02 16:28     ` Dan Carpenter
  0 siblings, 0 replies; 17+ messages in thread
From: Dan Carpenter @ 2021-03-02 16:28 UTC (permalink / raw)
  To: kbuild-all

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

On Tue, Mar 02, 2021 at 04:47:01PM +0100, Linus Walleij wrote:
> On Sat, Feb 27, 2021 at 10:22 AM Dan Carpenter <dan.carpenter@oracle.com> wrote:
> 
> > 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'.
> 
> I don't think these are real problems, but maybe there is some way to explicitly
> express that so that smatch knows as well?

They will call syzbot warning at runtime as well.  Syzbot complains
about the read, and not that the value is important for flow analysis.

regards,
dan carpenter

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: drivers/pinctrl/qcom/pinctrl-lpass-lpi.c:458 lpi_config_set() error: uninitialized symbol 'strength'.
  2021-03-02 16:28     ` Dan Carpenter
  (?)
@ 2021-03-02 16:32       ` Dan Carpenter
  -1 siblings, 0 replies; 17+ messages in thread
From: Dan Carpenter @ 2021-03-02 16:32 UTC (permalink / raw)
  To: Linus Walleij
  Cc: Srinivas Kandagatla, kbuild, kbuild test robot, kbuild-all,
	linux-kernel, Bjorn Andersson

On Tue, Mar 02, 2021 at 07:28:05PM +0300, Dan Carpenter wrote:
> On Tue, Mar 02, 2021 at 04:47:01PM +0100, Linus Walleij wrote:
> > On Sat, Feb 27, 2021 at 10:22 AM Dan Carpenter <dan.carpenter@oracle.com> wrote:
> > 
> > > 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'.
> > 
> > I don't think these are real problems, but maybe there is some way to explicitly
> > express that so that smatch knows as well?
> 
> They will call syzbot warning at runtime as well.  Syzbot complains
> about the read, and not that the value is important for flow analysis.

s/flow analysis/flow control/...  Syzbot doesn't care if the
uninitialized value affects runtime.

regards,
dan carpenter


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: drivers/pinctrl/qcom/pinctrl-lpass-lpi.c:458 lpi_config_set() error: uninitialized symbol 'strength'.
@ 2021-03-02 16:32       ` Dan Carpenter
  0 siblings, 0 replies; 17+ messages in thread
From: Dan Carpenter @ 2021-03-02 16:32 UTC (permalink / raw)
  To: kbuild

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

On Tue, Mar 02, 2021 at 07:28:05PM +0300, Dan Carpenter wrote:
> On Tue, Mar 02, 2021 at 04:47:01PM +0100, Linus Walleij wrote:
> > On Sat, Feb 27, 2021 at 10:22 AM Dan Carpenter <dan.carpenter@oracle.com> wrote:
> > 
> > > 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'.
> > 
> > I don't think these are real problems, but maybe there is some way to explicitly
> > express that so that smatch knows as well?
> 
> They will call syzbot warning at runtime as well.  Syzbot complains
> about the read, and not that the value is important for flow analysis.

s/flow analysis/flow control/...  Syzbot doesn't care if the
uninitialized value affects runtime.

regards,
dan carpenter

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: drivers/pinctrl/qcom/pinctrl-lpass-lpi.c:458 lpi_config_set() error: uninitialized symbol 'strength'.
@ 2021-03-02 16:32       ` Dan Carpenter
  0 siblings, 0 replies; 17+ messages in thread
From: Dan Carpenter @ 2021-03-02 16:32 UTC (permalink / raw)
  To: kbuild-all

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

On Tue, Mar 02, 2021 at 07:28:05PM +0300, Dan Carpenter wrote:
> On Tue, Mar 02, 2021 at 04:47:01PM +0100, Linus Walleij wrote:
> > On Sat, Feb 27, 2021 at 10:22 AM Dan Carpenter <dan.carpenter@oracle.com> wrote:
> > 
> > > 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'.
> > 
> > I don't think these are real problems, but maybe there is some way to explicitly
> > express that so that smatch knows as well?
> 
> They will call syzbot warning at runtime as well.  Syzbot complains
> about the read, and not that the value is important for flow analysis.

s/flow analysis/flow control/...  Syzbot doesn't care if the
uninitialized value affects runtime.

regards,
dan carpenter

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: drivers/pinctrl/qcom/pinctrl-lpass-lpi.c:458 lpi_config_set() error: uninitialized symbol 'strength'.
  2021-03-02 15:47   ` Linus Walleij
@ 2021-03-02 16:53     ` Bjorn Andersson
  -1 siblings, 0 replies; 17+ messages in thread
From: Bjorn Andersson @ 2021-03-02 16:53 UTC (permalink / raw)
  To: Linus Walleij
  Cc: Dan Carpenter, Srinivas Kandagatla, kbuild, kbuild test robot,
	kbuild-all, linux-kernel

On Tue 02 Mar 09:47 CST 2021, Linus Walleij wrote:

> On Sat, Feb 27, 2021 at 10:22 AM Dan Carpenter <dan.carpenter@oracle.com> wrote:
> 
> > 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'.
> 
> I don't think these are real problems, but maybe there is some way to explicitly
> express that so that smatch knows as well?
> 

Perhaps I'm reading it wrong, but wouldn't a state that doesn't specify
drive-strength or bias cause these properties to be written out as some
undefined/uninitialized value? (I.e. isn't the report correct?)

Regards,
Bjorn

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: drivers/pinctrl/qcom/pinctrl-lpass-lpi.c:458 lpi_config_set() error: uninitialized symbol 'strength'.
@ 2021-03-02 16:53     ` Bjorn Andersson
  0 siblings, 0 replies; 17+ messages in thread
From: Bjorn Andersson @ 2021-03-02 16:53 UTC (permalink / raw)
  To: kbuild-all

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

On Tue 02 Mar 09:47 CST 2021, Linus Walleij wrote:

> On Sat, Feb 27, 2021 at 10:22 AM Dan Carpenter <dan.carpenter@oracle.com> wrote:
> 
> > 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'.
> 
> I don't think these are real problems, but maybe there is some way to explicitly
> express that so that smatch knows as well?
> 

Perhaps I'm reading it wrong, but wouldn't a state that doesn't specify
drive-strength or bias cause these properties to be written out as some
undefined/uninitialized value? (I.e. isn't the report correct?)

Regards,
Bjorn

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: drivers/pinctrl/qcom/pinctrl-lpass-lpi.c:458 lpi_config_set() error: uninitialized symbol 'strength'.
  2021-03-02 15:47   ` Linus Walleij
  (?)
@ 2021-03-02 17:01     ` Dan Carpenter
  -1 siblings, 0 replies; 17+ messages in thread
From: Dan Carpenter @ 2021-03-02 17:01 UTC (permalink / raw)
  To: Linus Walleij
  Cc: Srinivas Kandagatla, kbuild, kbuild test robot, kbuild-all,
	linux-kernel, Bjorn Andersson

On Tue, Mar 02, 2021 at 04:47:01PM +0100, Linus Walleij wrote:
> On Sat, Feb 27, 2021 at 10:22 AM Dan Carpenter <dan.carpenter@oracle.com> wrote:
> 
> > 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'.
> 
> I don't think these are real problems, but maybe there is some way to explicitly
> express that so that smatch knows as well?
> 

We chould just initialize it to zero.  Eventually, (or maybe already???),
zero initializing stack variables will be the default for kernels built
with modern compilers.  So initializing it to zero in that case won't
change runtime at all.

regards,
dan carpenter


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: drivers/pinctrl/qcom/pinctrl-lpass-lpi.c:458 lpi_config_set() error: uninitialized symbol 'strength'.
@ 2021-03-02 17:01     ` Dan Carpenter
  0 siblings, 0 replies; 17+ messages in thread
From: Dan Carpenter @ 2021-03-02 17:01 UTC (permalink / raw)
  To: kbuild

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

On Tue, Mar 02, 2021 at 04:47:01PM +0100, Linus Walleij wrote:
> On Sat, Feb 27, 2021 at 10:22 AM Dan Carpenter <dan.carpenter@oracle.com> wrote:
> 
> > 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'.
> 
> I don't think these are real problems, but maybe there is some way to explicitly
> express that so that smatch knows as well?
> 

We chould just initialize it to zero.  Eventually, (or maybe already???),
zero initializing stack variables will be the default for kernels built
with modern compilers.  So initializing it to zero in that case won't
change runtime at all.

regards,
dan carpenter

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: drivers/pinctrl/qcom/pinctrl-lpass-lpi.c:458 lpi_config_set() error: uninitialized symbol 'strength'.
@ 2021-03-02 17:01     ` Dan Carpenter
  0 siblings, 0 replies; 17+ messages in thread
From: Dan Carpenter @ 2021-03-02 17:01 UTC (permalink / raw)
  To: kbuild-all

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

On Tue, Mar 02, 2021 at 04:47:01PM +0100, Linus Walleij wrote:
> On Sat, Feb 27, 2021 at 10:22 AM Dan Carpenter <dan.carpenter@oracle.com> wrote:
> 
> > 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'.
> 
> I don't think these are real problems, but maybe there is some way to explicitly
> express that so that smatch knows as well?
> 

We chould just initialize it to zero.  Eventually, (or maybe already???),
zero initializing stack variables will be the default for kernels built
with modern compilers.  So initializing it to zero in that case won't
change runtime at all.

regards,
dan carpenter

^ permalink raw reply	[flat|nested] 17+ messages in thread

* drivers/pinctrl/qcom/pinctrl-lpass-lpi.c:458 lpi_config_set() error: uninitialized symbol 'strength'.
@ 2021-02-26 17:41 kernel test robot
  0 siblings, 0 replies; 17+ messages in thread
From: kernel test robot @ 2021-02-26 17:41 UTC (permalink / raw)
  To: kbuild

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

CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
CC: Linus Walleij <linus.walleij@linaro.org>
CC: Bjorn Andersson <bjorn.andersson@linaro.org>

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
date:   3 months ago
:::::: branch date: 21 hours ago
:::::: commit date: 3 months ago
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  390  
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;
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  }
6e261d1090d6db Srinivas Kandagatla 2020-12-02  471  

---
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 --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2021-03-02 22:37 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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-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

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.