Re: [PATCH] mfd: mt6360: add pmic mt6360 driver

From: kbuild test robot
Date: Wed Sep 18 2019 - 15:19:27 EST


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 <lkp@xxxxxxxxx>

All error/warnings (new ones prefixed by >>):

In file included from <command-line>: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

Attachment: .config.gz
Description: application/gzip