> -----Original Message----- > From: kernel test robot [mailto:lkp@xxxxxxxxx] > Sent: 23 April 2022 10:51 > To: Shameerali Kolothum Thodi <shameerali.kolothum.thodi@xxxxxxxxxx>; > linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-acpi@xxxxxxxxxxxxxxx; > iommu@xxxxxxxxxxxxxxxxxxxxxxxxxx > Cc: llvm@xxxxxxxxxxxxxxx; kbuild-all@xxxxxxxxxxxx; Linuxarm > <linuxarm@xxxxxxxxxx>; lorenzo.pieralisi@xxxxxxx; joro@xxxxxxxxxx; > robin.murphy@xxxxxxx; will@xxxxxxxxxx; wanghuiqiang > <wanghuiqiang@xxxxxxxxxx>; Guohanjun (Hanjun Guo) > <guohanjun@xxxxxxxxxx>; steven.price@xxxxxxx; Sami.Mujawar@xxxxxxx; > jon@xxxxxxxxxxxxx; eric.auger@xxxxxxxxxx; laurentiu.tudor@xxxxxxx; > hch@xxxxxxxxxxxxx > Subject: Re: [PATCH v11 4/9] ACPI/IORT: Add support to retrieve IORT RMR > reserved regions > [...] > >> 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, Oops..missed the 'static' here. The rest of the warnings are because of the dependency with ACPICA header patch here[1]. Hi Robin/Lorenzo, I am planning to send out an updated series soon with that 'static' added and the R-by tag received for patch #1 from Christoph. Appreciate if you can take a look and let me know if you have any further comments on this series. Thanks, Shameer [1] https://lore.kernel.org/all/44610361.fMDQidcC6G@kreacher/ > ^ > 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