Subject: Re: [resend/standalone PATCH v4] Add auxiliary bus support

From: Leon Romanovsky <[email-masked]>
Date: Fri, 4 Dec 2020 14:32:07 +0200

On Fri, Dec 04, 2020 at 12:42:46PM +0100, Greg KH wrote:
> On Wed, Dec 02, 2020 at 04:54:24PM -0800, Dan Williams wrote:
> > From: Dave Ertman <[email-masked]>
> >
> > Add support for the Auxiliary Bus, auxiliary_device and auxiliary_driver.
> > It enables drivers to create an auxiliary_device and bind an
> > auxiliary_driver to it.
> >
> > The bus supports probe/remove shutdown and suspend/resume callbacks.
> > Each auxiliary_device has a unique string based id; driver binds to
> > an auxiliary_device based on this id through the bus.
> >
> > Co-developed-by: Kiran Patil <[email-masked]>
> > Co-developed-by: Ranjani Sridharan <[email-masked]>
> > Co-developed-by: Fred Oh <[email-masked]>
> > Co-developed-by: Leon Romanovsky <[email-masked]>
> > Signed-off-by: Kiran Patil <[email-masked]>
> > Signed-off-by: Ranjani Sridharan <[email-masked]>
> > Signed-off-by: Fred Oh <[email-masked]>
> > Signed-off-by: Leon Romanovsky <[email-masked]>
> > Signed-off-by: Dave Ertman <[email-masked]>
> > Reviewed-by: Pierre-Louis Bossart <[email-masked]>
> > Reviewed-by: Shiraz Saleem <[email-masked]>
> > Reviewed-by: Parav Pandit <[email-masked]>
> > Reviewed-by: Dan Williams <[email-masked]>
> > Reviewed-by: Martin Habets <[email-masked]>
> > Link: https://lore.kernel.org/r/[email-masked]
> > Signed-off-by: Dan Williams <[email-masked]>
> > ---
> > This patch is "To:" the maintainers that have a pending backlog of
> > driver updates dependent on this facility, and "Cc:" Greg. Greg, I
> > understand you have asked for more time to fully review this and apply
> > it to driver-core.git, likely for v5.12, but please consider Acking it
> > for v5.11 instead. It looks good to me and several other stakeholders.
> > Namely, stakeholders that have pressure building up behind this facility
> > in particular Mellanox RDMA, but also SOF, Intel Ethernet, and later on
> > Compute Express Link.
> >
> > I will take the blame for the 2 months of silence that made this awkward
> > to take through driver-core.git, but at the same time I do not want to
> > see that communication mistake inconvenience other parties that
> > reasonably thought this was shaping up to land in v5.11.
> >
> > I am willing to host this version at:
> >
> > git://git.kernel.org/pub/scm/linux/kernel/git/djbw/linux tags/auxiliary-bus-for-5.11
> >
> > ...for all the independent drivers to have a common commit baseline. It
> > is not there yet pending Greg's Ack.
> >
> > For example implementations incorporating this patch, see Dave Ertman's
> > SOF series:
> >
> > https://lore.kernel.org/r/[email-masked]
> >
> > ...and Leon's mlx5 series:
> >
> > http://lore.kernel.org/r/[email-masked]
> >
> > PS: Greg I know I promised some review on newcomer patches to help with
> > your queue, unfortunately Intel-internal review is keeping my plate
> > full. Again, I do not want other stakeholder to be waiting on me to
> > resolve that backlog.
>
> Ok, I spent some hours today playing around with this.  I wrote up a
> small test-patch for this (how did anyone test this thing???).

We are running all verifications tests that we have over our
mlx5 driver. It includes devices reloads, power failures, FW
reconfiguration to emulate different devices with and without error
injections and many more. Up till now, no new bugs that are not known
to us were found.

<...>

> Note, I'm still not comfortable with a few things here.  The
> documentation feels odd, and didn't really help me out in writing any
> test code, which doesn't seem right.  Also the use of strings and '.' as
> part of the api feels awkward, and messy, and of course, totally
> undocumented.

Agree, I didn't look on the documentation at all when implemented mlx5.
But from driver perspective the usage is quite straightforward.

<...>

> Thanks for everyone in sticking with this, I know it's been a long slog,
> hopefully this will help some driver authors move forward with their
> crazy complex devices :)

Thanks a lot.

> thanks,
> greg k-h