On Thu, May 18, 2017 at 05:38:56PM +0300, Mika Westerberg wrote: > Thunderbolt fabric consists of one or more switches. This fabric is > called domain and it is controlled by an entity called connection > manager. The connection manager can be either internal (driven by a > firmware running on the host controller) or external (software driver). > This driver currently implements support for the latter. > > In order to manage switches and their properties more easily we model > this domain structure as a Linux bus. Each host controller adds a domain > device to this bus, and these devices are named as domainN where N > stands for index or id of the current domain.
What is the rationale for using a bus? Do you intend to attach a driver to each domain and/or switch? Unless you do, a class might be more appropriate. Thanks, Lukas