Hi Shameer, I love your patch! Perhaps something to improve: [auto build test WARNING on joro-iommu/next] [also build test WARNING on rafael-pm/linux-next arm/for-next arm64/for-next/core soc/for-next linus/master v5.18-rc3 next-20220422] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/intel-lab-lkp/linux/commits/Shameer-Kolothum/ACPI-IORT-Support-for-IORT-RMR-node/20220423-003822 base: https://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git next config: arm64-randconfig-r012-20220422 (https://download.01.org/0day-ci/archive/20220423/202204231737.0jkKpxZk-lkp@xxxxxxxxx/config) compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 5bd87350a5ae429baf8f373cb226a57b62f87280) 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/intel-lab-lkp/linux/commit/5b73fd681a27e2ad450bac28f8a81f4b35fe4d68 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Shameer-Kolothum/ACPI-IORT-Support-for-IORT-RMR-node/20220423-003822 git checkout 5b73fd681a27e2ad450bac28f8a81f4b35fe4d68 # 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/acpi/arm64/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All warnings (new ones prefixed by >>): >> drivers/acpi/arm64/iort.c:801:29: warning: no previous prototype for function 'iort_rmr_alloc' [-Wmissing-prototypes] struct iommu_iort_rmr_data *iort_rmr_alloc(struct acpi_iort_rmr_desc *rmr_desc, ^ drivers/acpi/arm64/iort.c:801:1: note: declare 'static' if the function is not intended to be used outside of this translation unit struct iommu_iort_rmr_data *iort_rmr_alloc(struct acpi_iort_rmr_desc *rmr_desc, ^ static drivers/acpi/arm64/iort.c:896:20: error: use of undeclared identifier 'ACPI_IORT_RMR_REMAP_PERMITTED' if (rmr->flags & ACPI_IORT_RMR_REMAP_PERMITTED) ^ drivers/acpi/arm64/iort.c:901:20: error: use of undeclared identifier 'ACPI_IORT_RMR_ACCESS_PRIVILEGE' if (rmr->flags & ACPI_IORT_RMR_ACCESS_PRIVILEGE) ^ drivers/acpi/arm64/iort.c:905:7: error: call to undeclared function 'ACPI_IORT_RMR_ACCESS_ATTRIBUTES'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] if (ACPI_IORT_RMR_ACCESS_ATTRIBUTES(rmr->flags) <= ^ drivers/acpi/arm64/iort.c:906:5: error: use of undeclared identifier 'ACPI_IORT_RMR_ATTR_DEVICE_GRE' ACPI_IORT_RMR_ATTR_DEVICE_GRE) ^ drivers/acpi/arm64/iort.c:909:5: error: use of undeclared identifier 'ACPI_IORT_RMR_ATTR_NORMAL_IWB_OWB' ACPI_IORT_RMR_ATTR_NORMAL_IWB_OWB) ^ 1 warning and 5 errors generated. vim +/iort_rmr_alloc +801 drivers/acpi/arm64/iort.c 800 > 801 struct iommu_iort_rmr_data *iort_rmr_alloc(struct acpi_iort_rmr_desc *rmr_desc, 802 int prot, enum iommu_resv_type type, 803 u32 *sids, u32 num_sids) 804 { 805 struct iommu_iort_rmr_data *rmr_data; 806 struct iommu_resv_region *region; 807 u32 *sids_copy; 808 u64 addr = rmr_desc->base_address, size = rmr_desc->length; 809 810 rmr_data = kmalloc(sizeof(*rmr_data), GFP_KERNEL); 811 if (!rmr_data) 812 return NULL; 813 814 /* Create a copy of SIDs array to associate with this rmr_data */ 815 sids_copy = kmemdup(sids, num_sids * sizeof(*sids), GFP_KERNEL); 816 if (!sids_copy) { 817 kfree(rmr_data); 818 return NULL; 819 } 820 rmr_data->sids = sids_copy; 821 rmr_data->num_sids = num_sids; 822 823 if (!IS_ALIGNED(addr, SZ_64K) || !IS_ALIGNED(size, SZ_64K)) { 824 /* PAGE align base addr and size */ 825 addr &= PAGE_MASK; 826 size = PAGE_ALIGN(size + offset_in_page(rmr_desc->base_address)); 827 828 pr_err(FW_BUG "RMR descriptor[0x%llx - 0x%llx] not aligned to 64K, continue with [0x%llx - 0x%llx]\n", 829 rmr_desc->base_address, 830 rmr_desc->base_address + rmr_desc->length - 1, 831 addr, addr + size - 1); 832 } 833 834 region = &rmr_data->rr; 835 INIT_LIST_HEAD(®ion->list); 836 region->start = addr; 837 region->length = size; 838 region->prot = prot; 839 region->type = type; 840 region->free = iort_rmr_free; 841 842 return rmr_data; 843 } 844 -- 0-DAY CI Kernel Test Service https://01.org/lkp