[thierryreding:for-5.18/work 143/143] drivers/iommu/tegra-smmu.c:906:38: error: 'struct tegra_smmu' has no member named 'parent'

From: kernel test robot
Date: Wed Feb 23 2022 - 17:51:57 EST


tree: https://github.com/thierryreding/linux for-5.18/work
head: 1cdb7fffbcf8f949410bfa97c8cca5acc0285a48
commit: 1cdb7fffbcf8f949410bfa97c8cca5acc0285a48 [143/143] WIP
config: arm64-buildonly-randconfig-r004-20220223 (https://download.01.org/0day-ci/archive/20220224/202202240656.fYdbh6e7-lkp@xxxxxxxxx/config)
compiler: aarch64-linux-gcc (GCC) 11.2.0
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
# https://github.com/thierryreding/linux/commit/1cdb7fffbcf8f949410bfa97c8cca5acc0285a48
git remote add thierryreding https://github.com/thierryreding/linux
git fetch --no-tags thierryreding for-5.18/work
git checkout 1cdb7fffbcf8f949410bfa97c8cca5acc0285a48
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arm64 SHELL=/bin/bash drivers/iommu/ drivers/soc/tegra/

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

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

drivers/iommu/tegra-smmu.c: In function 'tegra_smmu_probe_device':
>> drivers/iommu/tegra-smmu.c:906:38: error: 'struct tegra_smmu' has no member named 'parent'
906 | parent = smmu->parent;
| ^~
>> drivers/iommu/tegra-smmu.c:914:9: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
914 | if (!smmu)
| ^~
drivers/iommu/tegra-smmu.c:918:17: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
918 | return ERR_PTR(-ENODEV);
| ^~~~~~
drivers/iommu/tegra-smmu.c: At top level:
>> drivers/iommu/tegra-smmu.c:921:9: error: expected identifier or '(' before 'return'
921 | return &smmu->iommu;
| ^~~~~~
>> drivers/iommu/tegra-smmu.c:922:1: error: expected identifier or '(' before '}' token
922 | }
| ^
--
>> make[4]: *** No rule to make target 'drivers/soc/tegra/dce.o', needed by 'drivers/soc/tegra/built-in.a'.
make[4]: *** [scripts/Makefile.build:614: drivers/soc/tegra/cbb] Error 2
make[4]: Target '__build' not remade because of errors.


vim +906 drivers/iommu/tegra-smmu.c

885
886 static struct iommu_device *tegra_smmu_probe_device(struct device *dev)
887 {
888 struct device_node *np = dev->of_node;
889 struct tegra_smmu *smmu = NULL;
890 struct device *parent = NULL;
891 struct of_phandle_args args;
892 unsigned int index = 0;
893 int err;
894
895 while (of_parse_phandle_with_args(np, "iommus", "#iommu-cells", index,
896 &args) == 0) {
897 smmu = tegra_smmu_find(args.np);
898 if (smmu) {
899 err = tegra_smmu_configure(smmu, dev, &args);
900 if (err < 0) {
901 put_device(smmu->dev);
902 of_node_put(args.np);
903 return ERR_PTR(err);
904 }
905
> 906 parent = smmu->parent;
907 }
908
909 of_node_put(args.np);
910 index++;
911 }
912
913 smmu = dev_iommu_priv_get(dev);
> 914 if (!smmu)
915 if (parent)
916 put_device(parent);
917
> 918 return ERR_PTR(-ENODEV);
919 }
920
> 921 return &smmu->iommu;
> 922 }
923

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx