Re: [PATCH 1/2] iommu: Fix iommu_unmap and iommu_unmap_fast return type

From: kbuild test robot
Date: Fri Feb 02 2018 - 18:58:32 EST


Hi Suravee,

I love your patch! Perhaps something to improve:

[auto build test WARNING on iommu/next]
[also build test WARNING on v4.15 next-20180202]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Suravee-Suthikulpanit/iommu-Fix-iommu_unmap-and-iommu_unmap_fast-return-type/20180203-015316
base: https://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git next
reproduce:
# apt-get install sparse
make ARCH=x86_64 allmodconfig
make C=1 CF=-D__CHECK_ENDIAN__


sparse warnings: (new ones prefixed by >>)

>> drivers/iommu/qcom_iommu.c:592:27: sparse: incorrect type in initializer (different signedness) @@ expected long ( )( ... ) @@ got unsigned long ( )( ... ) @@
drivers/iommu/qcom_iommu.c:592:27: expected long ( )( ... )
drivers/iommu/qcom_iommu.c:592:27: got unsigned long ( )( ... )
drivers/iommu/qcom_iommu.c:592:12: error: initialization from incompatible pointer type
.unmap = qcom_iommu_unmap,
^~~~~~~~~~~~~~~~
drivers/iommu/qcom_iommu.c:592:12: note: (near initialization for 'qcom_iommu_ops.unmap')
cc1: some warnings being treated as errors

vim +592 drivers/iommu/qcom_iommu.c

0ae349a0f3 Rob Clark 2017-08-09 584
0ae349a0f3 Rob Clark 2017-08-09 585 static const struct iommu_ops qcom_iommu_ops = {
0ae349a0f3 Rob Clark 2017-08-09 586 .capable = qcom_iommu_capable,
0ae349a0f3 Rob Clark 2017-08-09 587 .domain_alloc = qcom_iommu_domain_alloc,
0ae349a0f3 Rob Clark 2017-08-09 588 .domain_free = qcom_iommu_domain_free,
0ae349a0f3 Rob Clark 2017-08-09 589 .attach_dev = qcom_iommu_attach_dev,
0ae349a0f3 Rob Clark 2017-08-09 590 .detach_dev = qcom_iommu_detach_dev,
0ae349a0f3 Rob Clark 2017-08-09 591 .map = qcom_iommu_map,
0ae349a0f3 Rob Clark 2017-08-09 @592 .unmap = qcom_iommu_unmap,
0ae349a0f3 Rob Clark 2017-08-09 593 .map_sg = default_iommu_map_sg,
4d689b6194 Robin Murphy 2017-09-28 594 .flush_iotlb_all = qcom_iommu_iotlb_sync,
4d689b6194 Robin Murphy 2017-09-28 595 .iotlb_sync = qcom_iommu_iotlb_sync,
0ae349a0f3 Rob Clark 2017-08-09 596 .iova_to_phys = qcom_iommu_iova_to_phys,
0ae349a0f3 Rob Clark 2017-08-09 597 .add_device = qcom_iommu_add_device,
0ae349a0f3 Rob Clark 2017-08-09 598 .remove_device = qcom_iommu_remove_device,
0ae349a0f3 Rob Clark 2017-08-09 599 .device_group = generic_device_group,
0ae349a0f3 Rob Clark 2017-08-09 600 .of_xlate = qcom_iommu_of_xlate,
0ae349a0f3 Rob Clark 2017-08-09 601 .pgsize_bitmap = SZ_4K | SZ_64K | SZ_1M | SZ_16M,
0ae349a0f3 Rob Clark 2017-08-09 602 };
0ae349a0f3 Rob Clark 2017-08-09 603

:::::: The code at line 592 was first introduced by commit
:::::: 0ae349a0f33fb040a2bc228fdc6d60111455feab iommu/qcom: Add qcom_iommu

:::::: TO: Rob Clark <robdclark@xxxxxxxxx>
:::::: CC: Joerg Roedel <jroedel@xxxxxxx>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation