Re: [PATCH V3 1/3] iommu/arm-smmu-v3: Add device-tree support for CMDQV driver

From: Ashish Mhetre

Date: Fri Dec 05 2025 - 01:16:07 EST



On 12/3/2025 9:19 PM, Robin Murphy wrote:
External email: Use caution opening links or attachments


On 2025-12-03 11:04 am, Ashish Mhetre wrote:

On 12/3/2025 2:05 PM, kernel test robot wrote:
External email: Use caution opening links or attachments


Hi Ashish,

kernel test robot noticed the following build errors:

[auto build test ERROR on next-20251201]
[also build test ERROR on v6.18]
[cannot apply to robh/for-next linus/master v6.18 v6.18-rc7 v6.18-rc6]
[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#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Ashish-Mhetre/
iommu-arm-smmu-v3-Add-device-tree-support-for-CMDQV-
driver/20251202-003517
base:   next-20251201
patch link: https://lore.kernel.org/r/20251201163219.3237266-2-
amhetre%40nvidia.com
patch subject: [PATCH V3 1/3] iommu/arm-smmu-v3: Add device-tree
support for CMDQV driver
config: arm64-allmodconfig (https://download.01.org/0day-ci/
archive/20251203/202512031601.IpliwbHW-lkp@xxxxxxxxx/config)
compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project
cd708029e0b2869e80abe31ddb175f7c35361f90)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/
archive/20251203/202512031601.IpliwbHW-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new
version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512031601.IpliwbHW-
lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

ld.lld: error: duplicate symbol: init_module
    >>> defined at arm-smmu-v3.c
    >>> drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.o:
(init_module)
    >>> defined at tegra241-cmdqv.c
    >>> drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.o:
(.init.text+0x4)
--
ld.lld: error: duplicate symbol: cleanup_module
    >>> defined at arm-smmu-v3.c
    >>> drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.o:
(cleanup_module)
    >>> defined at tegra241-cmdqv.c
    >>> drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.o:
(.exit.text+0x4)

Hi Nic, Robin,

How do you suggest fixing this? Is it fine to compile tegra241-cmdqv as
separate module
and export tegra241_cmdqv_probe() to fix this warning?

As Jon just pointed out, the issue is using module_platform_driver(),
which is unnecessary anyway since this is not a driver; nor is it even a
module, it's just some extra code that can be included in the
arm_smmu_v3 driver, and will be integral to the arm_smmu_v3.ko module if
built as a such.

You could sanity-check the compatible of the phandle target in
tegra_cmdqv_dt_probe() if you feel like you should do more than just
blindly trust the DT, but either way trying to register a dummy platform
driver that won't bind to anything is pointless.


Thanks for the pointers Jon, Robin. I agree that this part of code is
redundant and can be removed. I will make these changes in next version.

I am using GCC compiler and was not able to reproduce this with W=1 build.

This will be happening with CONFIG_ARM_SMMU_V3=m.

Thanks,
Robin.


Thanks,
Ashish Mhetre

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki