[pinctrl:for-next 87/90] drivers/pinctrl/mediatek/pinctrl-paris.c:149:42: error: 'val' undeclared

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://kernel.googlesource.com/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git for-next
head:   5a85bd8e3af3a78fd05d059835a52f5a7ee2cbc9
commit: 7ed13ac1a9685222f9fa163b89f7eae8ea4f7fa8 [87/90] pinctrl: mediatek: Refine mtk_pinconf_get() and mtk_pinconf_set()
config: sh-allmodconfig (attached as .config)
compiler: sh4-linux-gcc (GCC) 7.4.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout 7ed13ac1a9685222f9fa163b89f7eae8ea4f7fa8
        # save the attached .config to linux build tree
        GCC_VERSION=7.4.0 make.cross ARCH=sh 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

   drivers/pinctrl/mediatek/pinctrl-paris.c: In function 'mtk_pinconf_get':
>> drivers/pinctrl/mediatek/pinctrl-paris.c:149:42: error: 'val' undeclared (first use in this function)
      err = mtk_hw_get_value(hw, desc, reg, &val);
                                             ^~~
   drivers/pinctrl/mediatek/pinctrl-paris.c:149:42: note: each undeclared identifier is reported only once for each function it appears in

vim +/val +149 drivers/pinctrl/mediatek/pinctrl-paris.c

805250982bb5c5 Zhiyong Tao 2018-09-08   75  
805250982bb5c5 Zhiyong Tao 2018-09-08   76  static int mtk_pinconf_get(struct pinctrl_dev *pctldev,
805250982bb5c5 Zhiyong Tao 2018-09-08   77  			   unsigned int pin, unsigned long *config)
805250982bb5c5 Zhiyong Tao 2018-09-08   78  {
805250982bb5c5 Zhiyong Tao 2018-09-08   79  	struct mtk_pinctrl *hw = pinctrl_dev_get_drvdata(pctldev);
805250982bb5c5 Zhiyong Tao 2018-09-08   80  	u32 param = pinconf_to_config_param(*config);
7ed13ac1a96852 Light Hsieh 2019-09-05   81  	int err, reg, ret = 1;
805250982bb5c5 Zhiyong Tao 2018-09-08   82  	const struct mtk_pin_desc *desc;
805250982bb5c5 Zhiyong Tao 2018-09-08   83  
805250982bb5c5 Zhiyong Tao 2018-09-08   84  	desc = (const struct mtk_pin_desc *)&hw->soc->pins[pin];
805250982bb5c5 Zhiyong Tao 2018-09-08   85  
805250982bb5c5 Zhiyong Tao 2018-09-08   86  	switch (param) {
805250982bb5c5 Zhiyong Tao 2018-09-08   87  	case PIN_CONFIG_BIAS_DISABLE:
7ed13ac1a96852 Light Hsieh 2019-09-05   88  		if (hw->soc->bias_disable_get)
805250982bb5c5 Zhiyong Tao 2018-09-08   89  			err = hw->soc->bias_disable_get(hw, desc, &ret);
7ed13ac1a96852 Light Hsieh 2019-09-05   90  		else
7ed13ac1a96852 Light Hsieh 2019-09-05   91  			err = -ENOTSUPP;
805250982bb5c5 Zhiyong Tao 2018-09-08   92  		break;
805250982bb5c5 Zhiyong Tao 2018-09-08   93  	case PIN_CONFIG_BIAS_PULL_UP:
7ed13ac1a96852 Light Hsieh 2019-09-05   94  		if (hw->soc->bias_get)
805250982bb5c5 Zhiyong Tao 2018-09-08   95  			err = hw->soc->bias_get(hw, desc, 1, &ret);
7ed13ac1a96852 Light Hsieh 2019-09-05   96  		else
7ed13ac1a96852 Light Hsieh 2019-09-05   97  			err = -ENOTSUPP;
805250982bb5c5 Zhiyong Tao 2018-09-08   98  		break;
805250982bb5c5 Zhiyong Tao 2018-09-08   99  	case PIN_CONFIG_BIAS_PULL_DOWN:
7ed13ac1a96852 Light Hsieh 2019-09-05  100  		if (hw->soc->bias_get)
805250982bb5c5 Zhiyong Tao 2018-09-08  101  			err = hw->soc->bias_get(hw, desc, 0, &ret);
7ed13ac1a96852 Light Hsieh 2019-09-05  102  		else
7ed13ac1a96852 Light Hsieh 2019-09-05  103  			err = -ENOTSUPP;
805250982bb5c5 Zhiyong Tao 2018-09-08  104  		break;
805250982bb5c5 Zhiyong Tao 2018-09-08  105  	case PIN_CONFIG_SLEW_RATE:
7ed13ac1a96852 Light Hsieh 2019-09-05  106  		err = mtk_hw_get_value(hw, desc, PINCTRL_PIN_REG_SR, &ret);
805250982bb5c5 Zhiyong Tao 2018-09-08  107  		break;
805250982bb5c5 Zhiyong Tao 2018-09-08  108  	case PIN_CONFIG_INPUT_ENABLE:
805250982bb5c5 Zhiyong Tao 2018-09-08  109  	case PIN_CONFIG_OUTPUT_ENABLE:
7ed13ac1a96852 Light Hsieh 2019-09-05  110  		err = mtk_hw_get_value(hw, desc, PINCTRL_PIN_REG_DIR, &ret);
7ed13ac1a96852 Light Hsieh 2019-09-05  111  		if (err)
7ed13ac1a96852 Light Hsieh 2019-09-05  112  			goto out;
7ed13ac1a96852 Light Hsieh 2019-09-05  113  		/*     CONFIG     Current direction return value
7ed13ac1a96852 Light Hsieh 2019-09-05  114  		 * -------------  ----------------- ----------------------
7ed13ac1a96852 Light Hsieh 2019-09-05  115  		 * OUTPUT_ENABLE       output       1 (= HW value)
7ed13ac1a96852 Light Hsieh 2019-09-05  116  		 *                     input        0 (= HW value)
7ed13ac1a96852 Light Hsieh 2019-09-05  117  		 * INPUT_ENABLE        output       0 (= reverse HW value)
7ed13ac1a96852 Light Hsieh 2019-09-05  118  		 *                     input        1 (= reverse HW value)
7ed13ac1a96852 Light Hsieh 2019-09-05  119  		 */
7ed13ac1a96852 Light Hsieh 2019-09-05  120  		if (param == PIN_CONFIG_INPUT_ENABLE)
7ed13ac1a96852 Light Hsieh 2019-09-05  121  			ret = !ret;
805250982bb5c5 Zhiyong Tao 2018-09-08  122  
805250982bb5c5 Zhiyong Tao 2018-09-08  123  		break;
805250982bb5c5 Zhiyong Tao 2018-09-08  124  	case PIN_CONFIG_INPUT_SCHMITT_ENABLE:
7ed13ac1a96852 Light Hsieh 2019-09-05  125  		err = mtk_hw_get_value(hw, desc, PINCTRL_PIN_REG_DIR, &ret);
805250982bb5c5 Zhiyong Tao 2018-09-08  126  		if (err)
7ed13ac1a96852 Light Hsieh 2019-09-05  127  			goto out;
7ed13ac1a96852 Light Hsieh 2019-09-05  128  		/* return error when in output mode
7ed13ac1a96852 Light Hsieh 2019-09-05  129  		 * because schmitt trigger only work in input mode
7ed13ac1a96852 Light Hsieh 2019-09-05  130  		 */
7ed13ac1a96852 Light Hsieh 2019-09-05  131  		if (ret) {
7ed13ac1a96852 Light Hsieh 2019-09-05  132  			err = -EINVAL;
7ed13ac1a96852 Light Hsieh 2019-09-05  133  			goto out;
7ed13ac1a96852 Light Hsieh 2019-09-05  134  		}
805250982bb5c5 Zhiyong Tao 2018-09-08  135  
7ed13ac1a96852 Light Hsieh 2019-09-05  136  		err = mtk_hw_get_value(hw, desc, PINCTRL_PIN_REG_SMT, &ret);
805250982bb5c5 Zhiyong Tao 2018-09-08  137  
805250982bb5c5 Zhiyong Tao 2018-09-08  138  		break;
805250982bb5c5 Zhiyong Tao 2018-09-08  139  	case PIN_CONFIG_DRIVE_STRENGTH:
7ed13ac1a96852 Light Hsieh 2019-09-05  140  		if (hw->soc->drive_get)
805250982bb5c5 Zhiyong Tao 2018-09-08  141  			err = hw->soc->drive_get(hw, desc, &ret);
7ed13ac1a96852 Light Hsieh 2019-09-05  142  		else
805250982bb5c5 Zhiyong Tao 2018-09-08  143  			err = -ENOTSUPP;
805250982bb5c5 Zhiyong Tao 2018-09-08  144  		break;
805250982bb5c5 Zhiyong Tao 2018-09-08  145  	case MTK_PIN_CONFIG_TDSEL:
805250982bb5c5 Zhiyong Tao 2018-09-08  146  	case MTK_PIN_CONFIG_RDSEL:
805250982bb5c5 Zhiyong Tao 2018-09-08  147  		reg = (param == MTK_PIN_CONFIG_TDSEL) ?
805250982bb5c5 Zhiyong Tao 2018-09-08  148  		       PINCTRL_PIN_REG_TDSEL : PINCTRL_PIN_REG_RDSEL;
805250982bb5c5 Zhiyong Tao 2018-09-08 @149  		err = mtk_hw_get_value(hw, desc, reg, &val);
805250982bb5c5 Zhiyong Tao 2018-09-08  150  		break;
805250982bb5c5 Zhiyong Tao 2018-09-08  151  	case MTK_PIN_CONFIG_PU_ADV:
805250982bb5c5 Zhiyong Tao 2018-09-08  152  	case MTK_PIN_CONFIG_PD_ADV:
805250982bb5c5 Zhiyong Tao 2018-09-08  153  		if (hw->soc->adv_pull_get) {
805250982bb5c5 Zhiyong Tao 2018-09-08  154  			bool pullup;
805250982bb5c5 Zhiyong Tao 2018-09-08  155  
805250982bb5c5 Zhiyong Tao 2018-09-08  156  			pullup = param == MTK_PIN_CONFIG_PU_ADV;
805250982bb5c5 Zhiyong Tao 2018-09-08  157  			err = hw->soc->adv_pull_get(hw, desc, pullup, &ret);
7ed13ac1a96852 Light Hsieh 2019-09-05  158  		} else
7ed13ac1a96852 Light Hsieh 2019-09-05  159  			err = -ENOTSUPP;
805250982bb5c5 Zhiyong Tao 2018-09-08  160  		break;
5e73de3413c5e0 Zhiyong Tao 2019-04-01  161  	case MTK_PIN_CONFIG_DRV_ADV:
7ed13ac1a96852 Light Hsieh 2019-09-05  162  		if (hw->soc->adv_drive_get)
5e73de3413c5e0 Zhiyong Tao 2019-04-01  163  			err = hw->soc->adv_drive_get(hw, desc, &ret);
7ed13ac1a96852 Light Hsieh 2019-09-05  164  		else
7ed13ac1a96852 Light Hsieh 2019-09-05  165  			err = -ENOTSUPP;
5e73de3413c5e0 Zhiyong Tao 2019-04-01  166  		break;
805250982bb5c5 Zhiyong Tao 2018-09-08  167  	default:
7ed13ac1a96852 Light Hsieh 2019-09-05  168  		err = -ENOTSUPP;
805250982bb5c5 Zhiyong Tao 2018-09-08  169  	}
805250982bb5c5 Zhiyong Tao 2018-09-08  170  
7ed13ac1a96852 Light Hsieh 2019-09-05  171  out:
7ed13ac1a96852 Light Hsieh 2019-09-05  172  	if (!err)
805250982bb5c5 Zhiyong Tao 2018-09-08  173  		*config = pinconf_to_config_packed(param, ret);
805250982bb5c5 Zhiyong Tao 2018-09-08  174  
7ed13ac1a96852 Light Hsieh 2019-09-05  175  	return err;
805250982bb5c5 Zhiyong Tao 2018-09-08  176  }
805250982bb5c5 Zhiyong Tao 2018-09-08  177  

:::::: The code at line 149 was first introduced by commit
:::::: 805250982bb5c5ce4a6e52e1d87204c5feea0dd1 pinctrl: mediatek: add pinctrl-paris that implements the vendor dt-bindings

:::::: TO: Zhiyong Tao <zhiyong.tao@xxxxxxxxxxxx>
:::::: CC: Linus Walleij <linus.walleij@xxxxxxxxxx>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux