Hi Gene, Thank you for the patch! Yet something to improve: [auto build test ERROR on linus/master] [cannot apply to v5.3 next-20190917] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Gene-Chen/mfd-mt6360-add-pmic-mt6360-driver/20190918-181850 config: x86_64-randconfig-s0-201937 (attached as .config) compiler: gcc-7 (Debian 7.4.0-13) 7.4.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 If you fix the issue, kindly add following tag Reported-by: kbuild test robot All error/warnings (new ones prefixed by >>): In file included from :0:0: >> include/linux/mfd/mt6360-private.h:234:51: warning: 'struct device_node' declared inside parameter list will not be visible outside of this definition or declaration static inline void mt6360_dt_parser_helper(struct device_node *np, void *data, ^~~~~~~~~~~ include/linux/mfd/mt6360-private.h: In function 'mt6360_dt_parser_helper': >> include/linux/mfd/mt6360-private.h:243:3: error: implicit declaration of function 'of_property_read_u32' [-Werror=implicit-function-declaration] of_property_read_u32(np, props[i].name, data + props[i].offset); ^~~~~~~~~~~~~~~~~~~~ include/linux/mfd/mt6360-private.h: In function 'mt6360_pdata_apply_helper': >> include/linux/mfd/mt6360-private.h:271:9: error: implicit declaration of function 'regmap_update_bits'; did you mean 'work_data_bits'? [-Werror=implicit-function-declaration] ret = regmap_update_bits(context, ^~~~~~~~~~~~~~~~~~ work_data_bits cc1: some warnings being treated as errors vim +/of_property_read_u32 +243 include/linux/mfd/mt6360-private.h 233 > 234 static inline void mt6360_dt_parser_helper(struct device_node *np, void *data, 235 const struct mt6360_val_prop *props, 236 int prop_cnt) 237 { 238 int i; 239 240 for (i = 0; i < prop_cnt; i++) { 241 if (unlikely(!props[i].name)) 242 continue; > 243 of_property_read_u32(np, props[i].name, data + props[i].offset); 244 } 245 } 246 247 #define MT6360_PDATA_VALPROP(name, type, reg, shift, mask, func, base) \ 248 {offsetof(type, name), reg, shift, mask, func, base} 249 250 struct mt6360_pdata_prop { 251 size_t offset; 252 u8 reg; 253 u8 shift; 254 u8 mask; 255 u32 (*transform)(u32 val); 256 u8 base; 257 }; 258 259 static inline int mt6360_pdata_apply_helper(void *context, void *pdata, 260 const struct mt6360_pdata_prop *prop, 261 int prop_cnt) 262 { 263 int i, ret; 264 u32 val; 265 266 for (i = 0; i < prop_cnt; i++) { 267 val = *(u32 *)(pdata + prop[i].offset); 268 if (prop[i].transform) 269 val = prop[i].transform(val); 270 val += prop[i].base; > 271 ret = regmap_update_bits(context, 272 prop[i].reg, prop[i].mask, val << prop[i].shift); 273 if (ret < 0) 274 return ret; 275 } 276 return 0; 277 } 278 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation