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@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@intel.com Signed-off-by: Subhransu S. Prusty subhransu.s.prusty@intel.com Signed-off-by: Vinod Koul vinod.koul@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