Re: [PATCH 06/24] thunderbolt: Introduce thunderbolt bus and connection manager

From: Lukas Wunner
Date: Wed May 24 2017 - 06:28:50 EST


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