tree: git://git.armlinux.org.uk/~rmk/linux-arm cex7 head: d0004d6a9ca8abe2a1fa2e8aa2e3c609a387e78a commit: d0004d6a9ca8abe2a1fa2e8aa2e3c609a387e78a [98/98] bus: fsl-mc: add custom .dma_configure implementation config: arm-randconfig-r006-20211028 (attached as .config) compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 5db7568a6a1fcb408eb8988abdaff2a225a8eb72) 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 arm cross compiling tool for clang build # apt-get install binutils-arm-linux-gnueabi git remote add rmk-arm git://git.armlinux.org.uk/~rmk/linux-arm git fetch --no-tags rmk-arm cex7 git checkout d0004d6a9ca8abe2a1fa2e8aa2e3c609a387e78a # save the attached .config to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash drivers/bus/fsl-mc/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): >> drivers/bus/fsl-mc/fsl-mc-bus.c:167:44: error: no member named 'iommu_fwnode' in 'struct iommu_fwspec' iommu_ops = iommu_ops_from_fwnode(fwspec->iommu_fwnode); ~~~~~~ ^ drivers/bus/fsl-mc/fsl-mc-bus.c:171:39: error: no member named 'iommu_fwnode' in 'struct iommu_fwspec' ret = iommu_fwspec_init(dev, fwspec->iommu_fwnode, iommu_ops); ~~~~~~ ^ >> drivers/bus/fsl-mc/fsl-mc-bus.c:182:9: error: implicit declaration of function 'iommu_probe_device' [-Werror,-Wimplicit-function-declaration] ret = iommu_probe_device(dev); ^ 3 errors generated. vim +167 drivers/bus/fsl-mc/fsl-mc-bus.c 137 138 static int fsl_mc_dma_configure(struct device *dev) 139 { 140 struct device *dma_dev = dev; 141 struct fsl_mc_device *mc_dev = to_fsl_mc_device(dev); 142 u32 input_id = mc_dev->icid; 143 struct iommu_fwspec *fwspec; 144 const struct iommu_ops *iommu_ops; 145 int ret; 146 147 /* Skip DMA setup for devices that are not DMA masters */ 148 if (dev->type == &fsl_mc_bus_dpmcp_type || 149 dev->type == &fsl_mc_bus_dpbp_type || 150 dev->type == &fsl_mc_bus_dpcon_type || 151 dev->type == &fsl_mc_bus_dpio_type) 152 return 0; 153 154 while (dev_is_fsl_mc(dma_dev)) 155 dma_dev = dma_dev->parent; 156 157 158 #if 0 159 if (dev_of_node(dma_dev)) 160 return of_dma_configure_id(dev, dma_dev->of_node, 0, &input_id); 161 162 return acpi_dma_configure_id(dev, DEV_DMA_COHERENT, &input_id); 163 #else 164 fwspec = dev_iommu_fwspec_get(dma_dev); 165 if (!fwspec) 166 return -ENODEV; > 167 iommu_ops = iommu_ops_from_fwnode(fwspec->iommu_fwnode); 168 if (!iommu_ops) 169 return -ENODEV; 170 171 ret = iommu_fwspec_init(dev, fwspec->iommu_fwnode, iommu_ops); 172 if (ret) 173 return ret; 174 175 ret = iommu_fwspec_add_ids(dev, &input_id, 1); 176 if (ret) { 177 iommu_fwspec_free(dev); 178 return ret; 179 } 180 181 if (!device_iommu_mapped(dev)) { > 182 ret = iommu_probe_device(dev); 183 if (ret) { 184 iommu_fwspec_free(dev); 185 return ret; 186 } 187 } 188 189 arch_setup_dma_ops(dev, 0, *dma_dev->dma_mask + 1, iommu_ops, true); 190 191 return 0; 192 #endif 193 } 194 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org