Messages in this thread | | | Date | Fri, 19 Aug 2022 17:32:05 +0200 | Subject | Re: [hverkuil-media-tree:for-v6.1c 3/3] drivers/media/platform/mediatek/mdp3/mtk-mdp3-comp.c:905:10: warning: cast to smaller integer type 'enum mdp_comp_type' from 'const void *' | From | Hans Verkuil <> |
| |
Hi Moudy,
On 19/08/2022 04:05, kernel test robot wrote: > tree: git://linuxtv.org/hverkuil/media_tree.git for-v6.1c > head: b2273b84e1291c52279edf13b08744833c1faaab > commit: b2273b84e1291c52279edf13b08744833c1faaab [3/3] media: platform: mtk-mdp3: add MediaTek MDP3 driver > config: arm64-allyesconfig (https://download.01.org/0day-ci/archive/20220819/202208190957.uDT8XE6b-lkp@intel.com/config) > compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project aed5e3bea138ce581d682158eb61c27b3cfdd6ec) > 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 > git remote add hverkuil-media-tree git://linuxtv.org/hverkuil/media_tree.git > git fetch --no-tags hverkuil-media-tree for-v6.1c > git checkout b2273b84e1291c52279edf13b08744833c1faaab > # 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 drivers/media/platform/mediatek/mdp3/ drivers/vfio/pci/hisilicon/ > > If you fix the issue, kindly add following tag where applicable > Reported-by: kernel test robot <lkp@intel.com> > > All warnings (new ones prefixed by >>): > >>> drivers/media/platform/mediatek/mdp3/mtk-mdp3-comp.c:905:10: warning: cast to smaller integer type 'enum mdp_comp_type' from 'const void *' [-Wvoid-pointer-to-enum-cast] > type = (enum mdp_comp_type)of_id->data; > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > drivers/media/platform/mediatek/mdp3/mtk-mdp3-comp.c:964:10: warning: cast to smaller integer type 'enum mdp_comp_type' from 'const void *' [-Wvoid-pointer-to-enum-cast] > type = (enum mdp_comp_type)of_id->data; > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Can you fix this? I believe you need to do this to fix this:
(enum mdp_comp_type)(uintptr_t)of_id->data
Regards,
Hans
> 2 warnings generated. > > > vim +905 drivers/media/platform/mediatek/mdp3/mtk-mdp3-comp.c > > 883 > 884 static int mdp_comp_sub_create(struct mdp_dev *mdp) > 885 { > 886 struct device *dev = &mdp->pdev->dev; > 887 struct device_node *node, *parent; > 888 > 889 parent = dev->of_node->parent; > 890 > 891 for_each_child_of_node(parent, node) { > 892 const struct of_device_id *of_id; > 893 enum mdp_comp_type type; > 894 int id, alias_id; > 895 struct mdp_comp *comp; > 896 > 897 of_id = of_match_node(mdp_sub_comp_dt_ids, node); > 898 if (!of_id) > 899 continue; > 900 if (!of_device_is_available(node)) { > 901 dev_dbg(dev, "Skipping disabled sub comp. %pOF\n", node); > 902 continue; > 903 } > 904 > > 905 type = (enum mdp_comp_type)of_id->data; > 906 alias_id = mdp_comp_alias_id[type]; > 907 id = mdp_comp_get_id(type, alias_id); > 908 if (id < 0) { > 909 dev_err(dev, > 910 "Fail to get sub comp. id: type %d alias %d\n", > 911 type, alias_id); > 912 return -EINVAL; > 913 } > 914 mdp_comp_alias_id[type]++; > 915 > 916 comp = mdp_comp_create(mdp, node, id); > 917 if (IS_ERR(comp)) > 918 return PTR_ERR(comp); > 919 } > 920 > 921 return 0; > 922 } > 923 >
| |