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

From: Ertman, David M
Date: Thu Nov 05 2020 - 18:48:51 EST


> -----Original Message-----
> From: Dan Williams <dan.j.williams@xxxxxxxxx>
> Sent: Thursday, November 5, 2020 2:00 PM
> To: Ertman, David M <david.m.ertman@xxxxxxxxx>
> Cc: alsa-devel@xxxxxxxxxxxxxxxx; Takashi Iwai <tiwai@xxxxxxx>; Mark Brown
> <broonie@xxxxxxxxxx>; linux-rdma <linux-rdma@xxxxxxxxxxxxxxx>; Jason
> Gunthorpe <jgg@xxxxxxxxxx>; Doug Ledford <dledford@xxxxxxxxxx>;
> Netdev <netdev@xxxxxxxxxxxxxxx>; David Miller <davem@xxxxxxxxxxxxx>;
> Jakub Kicinski <kuba@xxxxxxxxxx>; Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx>;
> Ranjani Sridharan <ranjani.sridharan@xxxxxxxxxxxxxxx>; Pierre-Louis Bossart
> <pierre-louis.bossart@xxxxxxxxxxxxxxx>; Fred Oh <fred.oh@xxxxxxxxxxxxxxx>;
> Parav Pandit <parav@xxxxxxxxxxxx>; Saleem, Shiraz
> <shiraz.saleem@xxxxxxxxx>; Patil, Kiran <kiran.patil@xxxxxxxxx>; Linux
> Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>; Leon Romanovsky
> <leonro@xxxxxxxxxx>
> 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@xxxxxxxxx> 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