[alsa-devel] [PATCH 2/7] ASoC: amd: Registering device endpoints using MFD framework

Lee Jones lee.jones at linaro.org
Wed Oct 2 15:35:53 CEST 2019


On Wed, 02 Oct 2019, Deucher, Alexander wrote:

> > -----Original Message-----
> > From: Lee Jones <lee.jones at linaro.org>
> > Sent: Wednesday, October 2, 2019 8:38 AM
> > To: Deucher, Alexander <Alexander.Deucher at amd.com>
> > Cc: RAVULAPATI, VISHNU VARDHAN RAO
> > <Vishnuvardhanrao.Ravulapati at amd.com>; Liam Girdwood
> > <lgirdwood at gmail.com>; Mark Brown <broonie at kernel.org>; Jaroslav
> > Kysela <perex at perex.cz>; Takashi Iwai <tiwai at suse.com>; Mukunda,
> > Vijendar <Vijendar.Mukunda at amd.com>; Maruthi Srinivas Bayyavarapu
> > <Maruthi.Bayyavarapu at amd.com>; Mehta, Sanju
> > <Sanju.Mehta at amd.com>; Colin Ian King <colin.king at canonical.com>; Dan
> > Carpenter <dan.carpenter at oracle.com>; moderated list:SOUND - SOC LAYER
> > / DYNAMIC AUDIO POWER MANAGEM... <alsa-devel at alsa-project.org>;
> > open list <linux-kernel at vger.kernel.org>
> > Subject: Re: [PATCH 2/7] ASoC: amd: Registering device endpoints using MFD
> > framework
> > 
> > On Tue, 01 Oct 2019, Deucher, Alexander wrote:
> > 
> > > > -----Original Message-----
> > > > From: Lee Jones <lee.jones at linaro.org>
> > > > Sent: Tuesday, October 1, 2019 8:00 AM
> > > > To: RAVULAPATI, VISHNU VARDHAN RAO
> > > > <Vishnuvardhanrao.Ravulapati at amd.com>
> > > > Cc: RAVULAPATI, VISHNU VARDHAN RAO
> > > > <Vishnuvardhanrao.Ravulapati at amd.com>; Deucher, Alexander
> > > > <Alexander.Deucher at amd.com>; Liam Girdwood
> > <lgirdwood at gmail.com>;
> > > > Mark Brown <broonie at kernel.org>; Jaroslav Kysela <perex at perex.cz>;
> > > > Takashi Iwai <tiwai at suse.com>; Mukunda, Vijendar
> > > > <Vijendar.Mukunda at amd.com>; Maruthi Srinivas Bayyavarapu
> > > > <Maruthi.Bayyavarapu at amd.com>; Mehta, Sanju
> > <Sanju.Mehta at amd.com>;
> > > > Colin Ian King <colin.king at canonical.com>; Dan Carpenter
> > > > <dan.carpenter at oracle.com>; moderated list:SOUND - SOC LAYER /
> > > > DYNAMIC AUDIO POWER MANAGEM... <alsa-devel at alsa-project.org>;
> > open
> > > > list <linux-kernel at vger.kernel.org>
> > > > Subject: Re: [PATCH 2/7] ASoC: amd: Registering device endpoints
> > > > using MFD framework
> > > >
> > > > On Tue, 01 Oct 2019, vishnu wrote:
> > > >
> > > > > Hi Jones,
> > > > >
> > > > > I am very Thankful to your review comments.
> > > > >
> > > > > Actually The driver is not totally based on MFD. It just uses
> > > > > mfd_add_hotplug_devices() and mfd_remove_devices() for adding
> > the
> > > > > devices automatically.
> > > > >
> > > > > Remaining code has nothing to do with MFD framework.
> > > > >
> > > > > So I thought It would not break the coding style and moved ahead
> > > > > by using the MFD API by adding its header file.
> > > > >
> > > > > If it is any violation of coding standard then I can move it to
> > > > > drivers/mfd.
> > > > >
> > > > > This patch could be a show stopper for us.Please suggest us how
> > > > > can we move ahead ASAP.
> > > >
> > > > Either move the MFD parts to drivers/mfd, or stop using the MFD API.
> > >
> > > There are more drivers outside of drivers/mfd using this API than
> > > drivers in drivers/mfd.
> > 
> > People do wrong things all the time.  It doesn't make them right.
> > 
> > > In a lot of cases it doesn't make sense to move the driver to drivers/mfd.
> > 
> > In those cases, the platform_device_*() API should be used.
> 
> Why do we have both?  It's not clear to me on when we should use one

The platform_device_*() API is the de facto API to use for registering
devices.  mfd_*() is a framework built on-top of that for devices
which register sub-devices that do not reasonably reside elsewhere.

The mfd_*() helper functions should only be used by MFD devices.

> vs the other.  These are not platforms per se, they are PCI devices
> that happen to have other devices on them.  On previous projects, I
> was told to use mfd and no objections were raised at that time.

Who told you to use MFD API outside of drivers/mfd?  That's a hack.

-- 
Lee Jones [李琼斯]
Linaro Services Technical Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog


More information about the Alsa-devel mailing list