Re: [RFC PATCH 17/22] thunderbolt: Add initial support for USB4

From: Greg Kroah-Hartman
Date: Tue Oct 01 2019 - 10:54:00 EST


On Tue, Oct 01, 2019 at 04:09:05PM +0300, Mika Westerberg wrote:
> On Tue, Oct 01, 2019 at 02:47:48PM +0200, Greg Kroah-Hartman wrote:
> > > - Thunderbolt Controller driver. This driver is required if you
> > > - want to hotplug Thunderbolt devices on Apple hardware or on PCs
> > > - with Intel Falcon Ridge or newer.
> > > + USB4 (Thunderbolt) driver. USB4 is the public spec based on
> > > + Thunderbolt 3 protocol. This driver is required if you want to
> > > + hotplug Thunderbolt and USB4 compliant devices on Apple
> > > + hardware or on PCs with Intel Falcon Ridge or newer.
> >
> > Wait, did "old" thunderbolt just get re-branded as USB4?
>
> Not but the driver started supporting USB4 as well :)
>
> USB4 is pretty much public spec of Thunderbolt 3 but with some
> differences in register layouts (this is because Thunderbolt uses some
> vendor specific capabilities which are now moved to more "standard"
> places).

Ok, then we need to rename the Kconfig option as well, otherwise no one
will "know" that this changed, so they will not be prompted for it.

> > Because if I have an "old" laptop that needs Thunderbolt support, how am
> > I going to know it is now called USB4 instead?
>
> Well the Kconfig option tries to have both names there:
>
> tristate "USB4 (Thunderbolt) support"
>
> and then
>
> USB4 (Thunderbolt) driver. USB4 is the public spec based on
> Thunderbolt 3 protocol. This driver is required if you want to hotplug
> Thunderbolt and USB4 compliant devices on Apple hardware or on PCs
> with Intel Falcon Ridge or newer.
>
> and the Kconfig option is still CONFIG_THUNDERBOLT. I know this is
> confusing but I don't have better ideas how we can advertise both. I
> borrowed this "format" from firewire.

CONFIG_USB4 instead?

> > Shouldn't there just be a new USB4 option that only enables/builds the
> > USB4 stuff if selected? Why would I want all of this additional code on
> > my old system if it's not going to do anything at all?
>
> USB4 devices are backward compatible with Thunderbolt 3 so you should be
> able to plug in USB4 device to your old Thunderbolt 3 laptop for
> example. It goes the other way as well. Some things are optional but for
> example USB4 hubs must support also Thunderbolt 3.
>
> Does that clarify?

Yes, it does, looks like marketing just renamed an old functioning
system into a "brand new one!" :)

thanks,

greg k-h