Re: [PATCH V2 2/2] ASoC: codecs: Add aw88083 amplifier driver

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

 



Hi,

kernel test robot noticed the following build errors:

[auto build test ERROR on eabcdba3ad4098460a376538df2ae36500223c1e]

url:    https://github.com/intel-lab-lkp/linux/commits/wangweidong-a-awinic-com/ASoC-dt-bindings-Add-schema-for-awinic-aw88083/20241219-203933
base:   eabcdba3ad4098460a376538df2ae36500223c1e
patch link:    https://lore.kernel.org/r/20241219123047.33330-3-wangweidong.a%40awinic.com
patch subject: [PATCH V2 2/2] ASoC: codecs: Add aw88083 amplifier driver
config: i386-randconfig-014-20241220 (https://download.01.org/0day-ci/archive/20241220/202412202139.OayEq3D3-lkp@xxxxxxxxx/config)
compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241220/202412202139.OayEq3D3-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202412202139.OayEq3D3-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

   In file included from sound/soc/codecs/aw88081.c:11:
   In file included from include/linux/i2c.h:19:
   In file included from include/linux/regulator/consumer.h:35:
   In file included from include/linux/suspend.h:5:
   In file included from include/linux/swap.h:9:
   In file included from include/linux/memcontrol.h:21:
   In file included from include/linux/mm.h:2223:
   include/linux/vmstat.h:518:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
     518 |         return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
         |                               ~~~~~~~~~~~ ^ ~~~
>> sound/soc/codecs/aw88081.c:407:11: error: incompatible pointer types passing 'struct aw_device *' to parameter of type 'const struct device *' [-Werror,-Wincompatible-pointer-types]
     407 |                 dev_err(aw_dev, "unsupported this device\n");
         |                         ^~~~~~
   include/linux/dev_printk.h:154:44: note: expanded from macro 'dev_err'
     154 |         dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__)
         |                                                   ^~~
   include/linux/dev_printk.h:110:11: note: expanded from macro 'dev_printk_index_wrap'
     110 |                 _p_func(dev, fmt, ##__VA_ARGS__);                       \
         |                         ^~~
   include/linux/dev_printk.h:50:36: note: passing argument to parameter 'dev' here
      50 | void _dev_err(const struct device *dev, const char *fmt, ...);
         |                                    ^
>> sound/soc/codecs/aw88081.c:442:52: error: incompatible pointer types passing 'u16 *' (aka 'unsigned short *') to parameter of type 'unsigned int *' [-Werror,-Wincompatible-pointer-types]
     442 |                 ret = aw8808x_reg_value_check(aw88081, reg_addr, &reg_val);
         |                                                                  ^~~~~~~~
   sound/soc/codecs/aw88081.c:394:43: note: passing argument to parameter 'reg_val' here
     394 |                                         unsigned int reg_addr, unsigned int *reg_val)
         |                                                                              ^
   1 warning and 2 errors generated.


vim +407 sound/soc/codecs/aw88081.c

   392	
   393	static int aw8808x_reg_value_check(struct aw88081 *aw88081,
   394						unsigned int reg_addr, unsigned int *reg_val)
   395	{
   396		struct aw_device *aw_dev = aw88081->aw_pa;
   397		int ret;
   398	
   399		switch (aw88081->devtype) {
   400		case AW88081:
   401			ret = aw88081_dev_reg_value_check(aw_dev, reg_addr, reg_val);
   402			break;
   403		case AW88083:
   404			ret = aw88083_dev_reg_value_check(aw_dev, reg_addr, reg_val);
   405			break;
   406		default:
 > 407			dev_err(aw_dev, "unsupported this device\n");
   408			ret = -EINVAL;
   409			break;
   410		}
   411	
   412		return ret;
   413	}
   414	
   415	static int aw88081_dev_reg_update(struct aw88081 *aw88081,
   416						unsigned char *data, unsigned int len)
   417	{
   418		struct aw_device *aw_dev = aw88081->aw_pa;
   419		struct aw_volume_desc *vol_desc = &aw_dev->volume_desc;
   420		int data_len, i, ret;
   421		int16_t *reg_data;
   422		u16 reg_val;
   423		u8 reg_addr;
   424	
   425		if (!len || !data) {
   426			dev_err(aw_dev->dev, "reg data is null or len is 0");
   427			return -EINVAL;
   428		}
   429	
   430		reg_data = (int16_t *)data;
   431		data_len = len >> 1;
   432	
   433		if (data_len & 0x1) {
   434			dev_err(aw_dev->dev, "data len:%d unsupported",	data_len);
   435			return -EINVAL;
   436		}
   437	
   438		for (i = 0; i < data_len; i += 2) {
   439			reg_addr = reg_data[i];
   440			reg_val = reg_data[i + 1];
   441	
 > 442			ret = aw8808x_reg_value_check(aw88081, reg_addr, &reg_val);
   443			if (ret)
   444				return ret;
   445	
   446			ret = regmap_write(aw_dev->regmap, reg_addr, reg_val);
   447			if (ret)
   448				return ret;
   449		}
   450	
   451		if (aw_dev->prof_cur != aw_dev->prof_index)
   452			vol_desc->ctl_volume = 0;
   453	
   454		/* keep min volume */
   455		aw88081_dev_set_volume(aw_dev, vol_desc->mute_volume);
   456	
   457		return 0;
   458	}
   459	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux