[alsa-devel] [RFC 03/11] ALSA: hda - add generic function to unregister all devices on bus

Vinod Koul vinod.koul at intel.com
Tue Apr 14 06:36:59 CEST 2015


On Mon, Apr 13, 2015 at 01:54:19PM +0200, Takashi Iwai wrote:
> At Sun, 12 Apr 2015 18:06:10 +0530,
> Subhransu S. Prusty wrote:
> > 
> > From: Jeeja KP <jeeja.kp at intel.com>
> > 
> > This will be used by SKL controller in driver remove
> > to unregister  all hda devices added during probe.
> > 
> > Signed-off-by: Jeeja KP <jeeja.kp at intel.com>
> > Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty at intel.com>
> > Signed-off-by: Vinod Koul <vinod.koul at intel.com>
> > ---
> >  include/sound/hdaudio.h |  2 ++
> >  sound/hda/hdac_bus.c    | 10 ++++++++++
> >  2 files changed, 12 insertions(+)
> > 
> > diff --git a/include/sound/hdaudio.h b/include/sound/hdaudio.h
> > index b63cd03..247c4a7 100644
> > --- a/include/sound/hdaudio.h
> > +++ b/include/sound/hdaudio.h
> > @@ -268,6 +268,8 @@ void snd_hdac_bus_remove_device(struct hdac_bus *bus,
> >  				struct hdac_device *codec);
> >  int snd_hdac_bus_match_id(struct hdac_device *dev, struct hdac_driver *drv);
> >  
> > +void snd_hdac_bus_device_unregister(struct hdac_bus *bus);
> > +
> >  static inline void snd_hdac_codec_link_up(struct hdac_device *codec)
> >  {
> >  	set_bit(codec->addr, &codec->bus->codec_powered);
> > diff --git a/sound/hda/hdac_bus.c b/sound/hda/hdac_bus.c
> > index 4ecb4ec..23b6076 100644
> > --- a/sound/hda/hdac_bus.c
> > +++ b/sound/hda/hdac_bus.c
> > @@ -240,3 +240,13 @@ void snd_hdac_driver_unregister(struct hdac_driver *drv)
> >  	driver_unregister(&drv->driver);
> >  }
> >  EXPORT_SYMBOL_GPL(snd_hdac_driver_unregister);
> > +
> > +void snd_hdac_bus_device_unregister(struct hdac_bus *bus)
> > +{
> > +	struct hdac_device *hdev;
> > +
> > +	/*unregister all devices on bus */
> > +	list_for_each_entry(hdev, &bus->codec_list, list)
> > +				snd_hdac_device_unregister(hdev);
> > +}
> > +EXPORT_SYMBOL_GPL(snd_hdac_bus_device_unregister);
> 
> Again, I don't think we need to keep this in the core code until it's
> really shared among multiple drivers.
Sure, since this was quote generic we kept it in corre, but its fine in asoc
too

-- 
~Vinod


More information about the Alsa-devel mailing list