[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHUa44HapG7pb-Fh8RORZ7mDmGvENSAf1qbH2Ge62Dko9gpwqw@mail.gmail.com>
Date: Tue, 2 Dec 2025 17:07:39 +0100
From: Jens Wiklander <jens.wiklander@...aro.org>
To: Bean Huo <beanhuo@...pp.de>
Cc: avri.altman@....com, avri.altman@...disk.com, bvanassche@....org,
alim.akhtar@...sung.com, jejb@...ux.ibm.com, martin.petersen@...cle.com,
can.guo@....qualcomm.com, ulf.hansson@...aro.org, beanhuo@...ron.com,
arnd@...db.de, linux-scsi@...r.kernel.org, linux-kernel@...r.kernel.org,
kernel test robot <lkp@...el.com>
Subject: Re: [PATCH v1] scsi: ufs: Fix RPMB link error by reversing Kconfig dependencies
On Tue, Dec 2, 2025 at 4:52 PM Bean Huo <beanhuo@...pp.de> wrote:
>
> From: Bean Huo <beanhuo@...ron.com>
>
> When CONFIG_SCSI_UFSHCD=y and CONFIG_RPMB=m, the kernel fails to link
> with undefined references to ufs_rpmb_probe() and ufs_rpmb_remove():
>
> ld: drivers/ufs/core/ufshcd.c:8950: undefined reference to `ufs_rpmb_probe'
> ld: drivers/ufs/core/ufshcd.c:10505: undefined reference to `ufs_rpmb_remove'
>
> The issue is that RPMB depends on its consumers (MMC, UFS) in Kconfig, which
> is backwards. This prevents proper module dependency handling when the library
> is modular but consumers are built-in.
>
> Fix by reversing the dependency:
> - Remove 'depends on MMC || SCSI_UFSHCD' from RPMB Kconfig
> - Add 'depends on RPMB || !RPMB' to SCSI_UFSHCD Kconfig
>
> This allows RPMB to be an independent library while ensuring correct
> linking in all module/built-in combinations.
>
> Fixes: b06b8c421485 ("scsi: ufs: core: Add OP-TEE based RPMB driver for UFS devices")
> Reported-by: kernel test robot <lkp@...el.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202511300443.h7sotuL0-lkp@intel.com/
> Suggested-by: Arnd Bergmann <arnd@...db.de>
> Cc: Bart Van Assche <bvanassche@....org>
> Cc: Jens Wiklander <jens.wiklander@...aro.org>
> Cc: Ulf Hansson <ulf.hansson@...aro.org>
> Signed-off-by: Bean Huo <beanhuo@...ron.com>
> ---
> drivers/misc/Kconfig | 1 -
> drivers/ufs/Kconfig | 1 +
> 2 files changed, 1 insertion(+), 1 deletion(-)
Looks good:
Reviewed-by: Jens Wiklander <jens.wiklander@...aro.org>
Cheers,
Jens
Powered by blists - more mailing lists