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

From: kbuild test robot <[email-masked]>
Date: Thu, 19 Sep 2019 03:18:36 +0800

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

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
_______________________________________________
linux-arm-kernel mailing list
[email-masked]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel