[PATCH 2/3] ALSA: hda - Advertise MODALIAS in uevent

Thierry Reding thierry.reding at gmail.com
Thu Sep 17 03:00:05 PDT 2015


From: Thierry Reding <treding at nvidia.com>

By setting the MODALIAS variable in uevents, userspace helpers will be
enabled to load modules via the module alias associated with a device.

This information is required to automatically load HDA codec drivers
instead of having to explicitly request the various modules in the HDA
core code.

Signed-off-by: Thierry Reding <treding at nvidia.com>
---
 sound/hda/hda_bus_type.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/sound/hda/hda_bus_type.c b/sound/hda/hda_bus_type.c
index 89c2711baaaf..5adf24c9f9cc 100644
--- a/sound/hda/hda_bus_type.c
+++ b/sound/hda/hda_bus_type.c
@@ -63,9 +63,21 @@ static int hda_bus_match(struct device *dev, struct device_driver *drv)
 	return 1;
 }
 
+static int hda_uevent(struct device *dev, struct kobj_uevent_env *env)
+{
+	struct hdac_device *hdev = dev_to_hdac_dev(dev);
+
+	if (add_uevent_var(env, "MODALIAS=snd-hda-codec-id:%08x",
+			   hdev->vendor_id))
+		return -ENOMEM;
+
+	return 0;
+}
+
 struct bus_type snd_hda_bus_type = {
 	.name = "hdaudio",
 	.match = hda_bus_match,
+	.uevent = hda_uevent,
 };
 EXPORT_SYMBOL_GPL(snd_hda_bus_type);
 
-- 
2.5.0




More information about the linux-arm-kernel mailing list