Thread (12 messages) 12 messages, 5 authors, 2025-12-05

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

From: Robin Murphy <robin.murphy@arm.com>
Date: 2025-12-03 15:49:44
Also in: linux-devicetree, linux-iommu, linux-tegra, lkml, llvm, oe-kbuild-all

On 2025-12-03 11:04 am, Ashish Mhetre wrote:
On 12/3/2025 2:05 PM, kernel test robot wrote:
quoted
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@intel.com/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@intel.com/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 [off-list ref]
| Closes: https://lore.kernel.org/oe-kbuild-all/202512031601.IpliwbHW- 
lkp@intel.com/

All errors (new ones prefixed by >>):
quoted
quoted
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)
-- 
quoted
quoted
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.
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
quoted
-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help