On Fri, Nov 19, 2021 at 4:03 PM Ben Widawsky <ben.widawsky@xxxxxxxxx> wrote: > > The description of the CXL topology will be conveyed by a platform > specific entity that is expected to be a singleton. For ACPI based > systems, this is ACPI0017. When the topology host goes away, which as of > now can only be triggered by module unload, it is desirable to have the > entire topology cleaned up. Regular devm unwinding handles most > situations already, but what's missing is the ability to teardown the > root port. Since the root port is platform specific, the core needs a > set of APIs to allow platform specific drivers to register their root > ports. With that, all the automatic teardown can occur. Wait, no, that was one of the original motivations, but then we discussed here [1] that devm teardown of a topology can happen naturally / hierarchically. [1]: https://lore.kernel.org/r/CAPcyv4ikVFFqyfH2zLhBVJ28N1_gufGHd2gVbP2h+Rv2cZEpeA@xxxxxxxxxxxxxx No, the reason for the cxl_topology_host is as a constraint for when CXL.mem connectivity can be verified from root to endpoint. Given that endpoints can attach at any point in time relative to when the root arrives CXL.mem connectivity needs to be revalidated at every topology host arrival / depart event.