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