Re: [PATCH 00/11] Add NVIDIA LSTP USB adapter drivers
From: Greg Kroah-Hartman
Date: Thu Oct 22 2026 - 09:35:19 EST
On Thu, Oct 22, 2026 at 01:40:26PM +0300, Adrian Ambrozewicz wrote:
> On Tue, Oct 13, 2026 at 01:37:11PM +0200, Greg Kroah-Hartman wrote:
> > > Why the auxiliary bus, and why not MFD
> > > --------------------------------------
> >
> > Neither is ok for USB devices, that's not an argument either way.
>
> Here USB only carries the traffic. The I2C, SPI and GPIO channels are
> ordinary controllers on the board, and their drivers register with
> those subsystems; hosts describe what is wired to them with ACPI, BMCs
> with device tree [1].
>
> usb-ljca is a recent driver for a very similar device, so we modelled
> the core on it: one interface carries GPIO, I2C and SPI, and the core
> creates an auxiliary device per function and attaches its ACPI node.
> LSTP extends that model to device tree.
>
> Whether the next version stays LSTP or becomes a set of divergences
> from an OBMF-ICP driver, as Jeremy suggested, the need is the same: a
> device behind a tunnelled channel is described like one wired straight
> to the BMC, so a board can move between the two without rewriting its
> description.
THat's exactly what USB is supposed to be on its own. Just use that,
don't attempt to "overload" a single USB device as somehow being a
random set of devices attached that way, that's a peversion of the USB
spec, don't you think?
But if you REALLY want to do that, then again, do something that has
already been defined, like greybus, which you can use your USB device as
a greybus host device and "hang" the other devices off of that (i.e.
your firmware knows the device types and describes it to the host.)
To attempt to use a non-self-describing device/bus in this century for a
brand new protocol and device that actually uses USB as a transport
layer is insane. Please learn from history and don't repeat the same
mistakes.
So, again, why not use greybus for this?
thanks,
greg k-h