From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: Re: [RFC 03/11] ALSA: hda - add generic function to unregister all devices on bus Date: Mon, 13 Apr 2015 13:54:19 +0200 Message-ID: References: <1428842178-7105-1-git-send-email-subhransu.s.prusty@intel.com> <1428842178-7105-4-git-send-email-subhransu.s.prusty@intel.com> Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by alsa0.perex.cz (Postfix) with ESMTP id 2196D261AD0 for ; Mon, 13 Apr 2015 13:54:20 +0200 (CEST) In-Reply-To: <1428842178-7105-4-git-send-email-subhransu.s.prusty@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org To: "Subhransu S. Prusty" Cc: alsa-devel@alsa-project.org, patches.audio@intel.com, lgirdwood@gmail.com, Vinod Koul , broonie@kernel.org, Jeeja KP List-Id: alsa-devel@alsa-project.org At Sun, 12 Apr 2015 18:06:10 +0530, Subhransu S. Prusty wrote: > > From: Jeeja KP > > This will be used by SKL controller in driver remove > to unregister all hda devices added during probe. > > Signed-off-by: Jeeja KP > Signed-off-by: Subhransu S. Prusty > Signed-off-by: Vinod Koul > --- > 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. thanks, Takashi