[asahilinux:bits/070-audio 15/20] sound/soc/codecs/tas2764.c:683:20: warning: cast to smaller integer type 'enum tas2764_devid' from 'const void *'

From: kernel test robot
Date: Mon May 02 2022 - 11:22:12 EST


tree: https://github.com/AsahiLinux/linux bits/070-audio
head: 91b81123719d8b742da188f01ee3d897e0fac92b
commit: 29756799398dae179e17370b2e5d2a397b683440 [15/20] ASoC: tas2764: Extend driver to SN012776
config: arm64-randconfig-r005-20220501 (https://download.01.org/0day-ci/archive/20220502/202205022313.dZqidUBY-lkp@xxxxxxxxx/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 09325d36061e42b495d1f4c7e933e260eac260ed)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://github.com/AsahiLinux/linux/commit/29756799398dae179e17370b2e5d2a397b683440
git remote add asahilinux https://github.com/AsahiLinux/linux
git fetch --no-tags asahilinux bits/070-audio
git checkout 29756799398dae179e17370b2e5d2a397b683440
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash sound/soc/codecs/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

>> sound/soc/codecs/tas2764.c:683:20: warning: cast to smaller integer type 'enum tas2764_devid' from 'const void *' [-Wvoid-pointer-to-enum-cast]
tas2764->devid = (enum tas2764_devid) of_id->data;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.


vim +683 sound/soc/codecs/tas2764.c

666
667 static int tas2764_i2c_probe(struct i2c_client *client,
668 const struct i2c_device_id *id)
669 {
670 struct tas2764_priv *tas2764;
671 const struct of_device_id *of_id = NULL;
672 int result;
673
674 tas2764 = devm_kzalloc(&client->dev, sizeof(struct tas2764_priv),
675 GFP_KERNEL);
676 if (!tas2764)
677 return -ENOMEM;
678
679 if (client->dev.of_node)
680 of_id = of_match_device(tas2764_of_match, &client->dev);
681
682 if (of_id)
> 683 tas2764->devid = (enum tas2764_devid) of_id->data;
684 else
685 tas2764->devid = DEVID_TAS2764;
686
687 tas2764->dev = &client->dev;
688 i2c_set_clientdata(client, tas2764);
689 dev_set_drvdata(&client->dev, tas2764);
690
691 tas2764->regmap = devm_regmap_init_i2c(client, &tas2764_i2c_regmap);
692 if (IS_ERR(tas2764->regmap)) {
693 result = PTR_ERR(tas2764->regmap);
694 dev_err(&client->dev, "Failed to allocate register map: %d\n",
695 result);
696 return result;
697 }
698
699 if (client->dev.of_node) {
700 result = tas2764_parse_dt(&client->dev, tas2764);
701 if (result) {
702 dev_err(tas2764->dev, "%s: Failed to parse devicetree\n",
703 __func__);
704 return result;
705 }
706 }
707
708 return devm_snd_soc_register_component(tas2764->dev,
709 &soc_component_driver_tas2764,
710 tas2764_dai_driver,
711 ARRAY_SIZE(tas2764_dai_driver));
712 }
713

--
0-DAY CI Kernel Test Service
https://01.org/lkp