On 27/8/25 10:15, dan.j.williams@xxxxxxxxx wrote:
Alexey Kardashevskiy wrote:
[..]
diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig
index 0c662f9813eb..5c3f896ac9f4 100644
--- a/drivers/pci/Kconfig
+++ b/drivers/pci/Kconfig
@@ -135,6 +135,20 @@ config PCI_IDE_STREAM_MAX
track the maximum possibility of 256 streams per host bridge
in the typical case.
+config PCI_TSM
+ bool "PCI TSM: Device security protocol support"
+ select PCI_IDE
+ select PCI_DOE
select TSM
Yup, already in v5.
etc.
but this is kinda wrong as it is quite bizarre to call
drivers/virt/coco/tsm-core.c's tsm_ide_stream_unregister() from
drivers/pci/ide.c's pci_ide_stream_release(), i.e. "virt" from "pci
core". imho the caller of pci_ide_stream_release() should just call
tsm_ide_stream_unregister() too, and so on. Thanks,
So I agree it is odd, and I orginally did not have this tie until the
DEFINE_FREE(pci_ide_stream_release, ...) proposal. With that I want to
allow for TSM drivers to teardown everything associated with IDE setup
with one scope-based-cleanup helper.
It is not a mid-layer because nothing requires a TSM driver to call
tsm_ide_stream_register(), but if they do register it then the PCI core
helper will handle cleaning it up on error along with the rest of the
resources.
I see but imho DEFINE_FREE() is weak justification for such cross-subsystem jumping, still. I was looking at the linker error as, like, "find a Wally". May be then drop EXPORT_SYMBOL_GPL() for tsm_ide_stream_unregister()? Thanks,
--
Alexey