From: <dan.j.williams@intel.com>
To: Nathan Chancellor <nathan@kernel.org>,
Dan Williams <dan.j.williams@intel.com>
Cc: <linux-pci@vger.kernel.org>, <linux-coco@lists.linux.dev>,
<Jonathan.Cameron@huawei.com>, kernel test robot <lkp@intel.com>
Subject: Re: [PATCH v2 1/8] drivers/virt: Drop VIRT_DRIVERS build dependency
Date: Tue, 2 Dec 2025 17:51:49 -0800 [thread overview]
Message-ID: <692f97b5508f9_261c11005c@dwillia2-mobl4.notmuch> (raw)
In-Reply-To: <20251202234435.GA1692217@ax162>
Nathan Chancellor wrote:
> Hi Dan,
>
> On Wed, Nov 12, 2025 at 06:14:39PM -0800, Dan Williams wrote:
> > All of the objects in drivers/virt/ have their own configuration symbols to
> > gate compilation. I.e. nothing gets added to the kernel with
> > CONFIG_VIRT_DRIVERS=y in isolation.
> >
> > Unconditionally descend into drivers/virt/ so that consumers do not need to
> > add an additional CONFIG_VIRT_DRIVERS dependency.
> >
> > Fix warnings of the form:
> >
> > Kconfig warnings: (for reference only)
> > WARNING: unmet direct dependencies detected for TSM
> > Depends on [n]: VIRT_DRIVERS [=n]
> > Selected by [y]:
> > - PCI_TSM [=y] && PCI [=y]
>
> I can still trigger this warning on next-20251202, which contains this
> change as commit 110c155e8a68 ("drivers/virt: Drop VIRT_DRIVERS build
> dependency").
>
> $ git merge-base --is-ancestor 110c155e8a684d8b2423a72cfde147903881f765 HEAD
> echo $status
> 0
>
> $ make -skj"$(nproc)" ARCH=arm64 CROSS_COMPILE=aarch64-linux- clean defconfig
>
> $ scripts/config -e PCI_TSM
>
> $ make -skj"$(nproc)" ARCH=arm64 CROSS_COMPILE=aarch64-linux- olddefconfig
> WARNING: unmet direct dependencies detected for TSM
> Depends on [n]: VIRT_DRIVERS [=n]
> Selected by [y]:
> - PCI_TSM [=y] && PCI [=y]
>
> I would think you would need something like this avoid the problem but I
> am not sure if it would be acceptable, hence just the report.
Oh, yes, thanks for that. It turns out I fixed the compilation problem
associated with this report [1].
ld: drivers/pci/ide.o: in function `pci_ide_stream_release':
ide.c:(.text+0xffb): undefined reference to `tsm_ide_stream_unregister'
ld: drivers/pci/tsm.o: in function `connect_store':
tsm.c:(.text+0x1d42): undefined reference to `find_tsm_dev'
I missed that the report I ended up quoting [2] was only about the
Kconfig problem not the build error.
[1]: http://lore.kernel.org/202511140712.NubhamPy-lkp@intel.com
[2]: http://lore.kernel.org/202511041832.ylcgIiqN-lkp@intel.com
> Cheers,
> Nathan
>
> diff --git a/drivers/virt/Kconfig b/drivers/virt/Kconfig
> index d8c848cf09a6..52eb7e4ba71f 100644
> --- a/drivers/virt/Kconfig
> +++ b/drivers/virt/Kconfig
> @@ -47,6 +47,6 @@ source "drivers/virt/nitro_enclaves/Kconfig"
>
> source "drivers/virt/acrn/Kconfig"
>
> -source "drivers/virt/coco/Kconfig"
> -
> endif
> +
> +source "drivers/virt/coco/Kconfig"
> diff --git a/drivers/virt/coco/Kconfig b/drivers/virt/coco/Kconfig
> index bb0c6d6ddcc8..df1cfaf26c65 100644
> --- a/drivers/virt/coco/Kconfig
> +++ b/drivers/virt/coco/Kconfig
> @@ -3,6 +3,7 @@
> # Confidential computing related collateral
> #
>
> +if VIRT_DRIVERS
> source "drivers/virt/coco/efi_secret/Kconfig"
>
> source "drivers/virt/coco/pkvm-guest/Kconfig"
> @@ -14,6 +15,7 @@ source "drivers/virt/coco/tdx-guest/Kconfig"
> source "drivers/virt/coco/arm-cca-guest/Kconfig"
>
> source "drivers/virt/coco/guest/Kconfig"
> +endif
>
> config TSM
> bool
Yes, I think that looks right to me as core infrastructure pieces are
not user selectable like the leaf drivers.
For now I will note the mixup in the pull request and would be happy to
take an incremental patch fixing this up.
next prev parent reply other threads:[~2025-12-03 1:51 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-13 2:14 [PATCH v2 0/8] PCI/TSM: Finalize "Link" TSM infrastructure Dan Williams
2025-11-13 2:14 ` [PATCH v2 1/8] drivers/virt: Drop VIRT_DRIVERS build dependency Dan Williams
2025-11-13 11:28 ` Jonathan Cameron
2025-12-02 23:44 ` Nathan Chancellor
2025-12-03 1:51 ` dan.j.williams [this message]
2025-11-13 2:14 ` [PATCH v2 2/8] PCI/TSM: Drop stub for pci_tsm_doe_transfer() Dan Williams
2025-11-13 11:29 ` Jonathan Cameron
2025-11-13 2:14 ` [PATCH v2 3/8] resource: Introduce resource_assigned() for discerning active resources Dan Williams
2025-11-13 11:36 ` Jonathan Cameron
2025-11-13 2:14 ` [PATCH v2 4/8] PCI/IDE: Add Address Association Register setup for downstream MMIO Dan Williams
2025-11-13 11:48 ` Jonathan Cameron
2025-11-14 1:02 ` [PATCH v3 " Dan Williams
2025-11-13 2:14 ` [PATCH v2 5/8] PCI/IDE: Initialize an ID for all IDE streams Dan Williams
2025-11-13 11:52 ` Jonathan Cameron
2025-11-17 11:11 ` Xu Yilun
2025-11-13 2:14 ` [PATCH v2 6/8] PCI/TSM: Add pci_tsm_bind() helper for instantiating TDIs Dan Williams
2025-11-13 12:01 ` Jonathan Cameron
2025-11-13 20:41 ` dan.j.williams
2025-11-17 11:30 ` Xu Yilun
2025-11-13 2:14 ` [PATCH v2 7/8] PCI/TSM: Add pci_tsm_guest_req() for managing TDIs Dan Williams
2025-11-13 12:04 ` Jonathan Cameron
2025-11-17 11:57 ` Xu Yilun
2025-11-13 2:14 ` [PATCH v2 8/8] PCI/TSM: Add 'dsm' and 'bound' attributes for dependent functions Dan Williams
2025-11-17 14:58 ` Xu Yilun
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=692f97b5508f9_261c11005c@dwillia2-mobl4.notmuch \
--to=dan.j.williams@intel.com \
--cc=Jonathan.Cameron@huawei.com \
--cc=linux-coco@lists.linux.dev \
--cc=linux-pci@vger.kernel.org \
--cc=lkp@intel.com \
--cc=nathan@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox