RE: [PATCH v3 01/10] Add auxiliary bus support

Ertman, David M
2020-11-05T23:48:55Z

> -----Original Message-----
> From: Dan Williams <dan.j.williams@intel.com>
> Sent: Thursday, November 5, 2020 2:00 PM
> To: Ertman, David M <david.m.ertman@intel.com>
> Cc: alsa-devel@alsa-project.org; Takashi Iwai <tiwai@suse.de>; Mark Brown
> <broonie@kernel.org>; linux-rdma <linux-rdma@vger.kernel.org>; Jason
> Gunthorpe <jgg@nvidia.com>; Doug Ledford <dledford@redhat.com>;
> Netdev <netdev@vger.kernel.org>; David Miller <davem@davemloft.net>;
> Jakub Kicinski <kuba@kernel.org>; Greg KH <gregkh@linuxfoundation.org>;
> Ranjani Sridharan <ranjani.sridharan@linux.intel.com>; Pierre-Louis Bossart
> <pierre-louis.bossart@linux.intel.com>; Fred Oh <fred.oh@linux.intel.com>;
> Parav Pandit <parav@mellanox.com>; Saleem, Shiraz
> <shiraz.saleem@intel.com>; Patil, Kiran <kiran.patil@intel.com>; Linux
> Kernel Mailing List <linux-kernel@vger.kernel.org>; Leon Romanovsky
> <leonro@nvidia.com>
> Subject: Re: [PATCH v3 01/10] Add auxiliary bus support
>
> On Thu, Nov 5, 2020 at 11:28 AM Ertman, David M
> <david.m.ertman@intel.com> wrote:
> [..]
> > > > Each auxiliary_device represents a part of its parent
> > > > +functionality. The generic behavior can be extended and specialized as
> > > needed
> > > > +by encapsulating an auxiliary_device within other domain-specific
> > > structures and
> > > > +the use of .ops callbacks. Devices on the auxiliary bus do not share any
> > > > +structures and the use of a communication channel with the parent is
> > > > +domain-specific.
> > >
> > > Should there be any guidance here on when to use ops and when to just
> > > export functions from parent driver to child. EXPORT_SYMBOL_NS()
> seems
> > > a perfect fit for publishing shared routines between parent and child.
> > >
> >
> > I would leave this up the driver writers to determine what is best for them.
>
> I think there is a pathological case that can be avoided with a
> statement like the following:
>
> "Note that ops are intended as a way to augment instance behavior
> within a class of auxiliary devices, it is not the mechanism for
> exporting common infrastructure from the parent. Consider
> EXPORT_SYMBOL_NS() to convey infrastructure from the parent module to
> the auxiliary module(s)."
>
> As for your other dispositions of the feedback, looks good to me.

I will add this in.

-DaveE