On Sun, Oct 18, 2015 at 08:41:54PM +0530, Vinod Koul wrote:
On Fri, Oct 16, 2015 at 06:20:52PM +0200, Takashi Iwai wrote:
Hi,
this is a patchset to add the support of automatic modalias creation for HD-audio codec drivers like other standard drivers. Currently, the HDA codec driver has put module alias manually due to ugly historical reasons. This patch finally moves to the saner way.
Also it adds the udev modalias support so that it can be autoloaded in udev.
The patchset was initiated by Intel people for SKL ASoC drivers. Now I brushed up and made it working for legacy drivers.
The current patchset is found in topic/hda-modalias branch of sound git tree, too.
Thanks for posting this,
This series looks great to me. Me and Subhransu will test it out in next day or so and will get back with results on ASoC side :)
Hi Takashi,
For the whole series
Reviewed-by: Vinod Koul vinod.koul@intel.com Tested-by: Subhransu S Prusty subhransu.s.prusty@intel.com
Also please apply below patch which adds HDA_CODEC_EXT_ENTRY. We have tested HDMI patches with this
-----------------><8----------------><8----------------
From 79f4fb6600810103737939c186f928c74ed058fe Mon Sep 17 00:00:00 2001
From: "Subhransu S. Prusty" subhransu.s.prusty@intel.com Date: Mon, 19 Oct 2015 16:58:46 +0530 Subject: [PATCH] ALSA: hdac: Add macro for hda ext devices entry
With the new modalias infrastructure support added for hda, create a macro for ext devices similar to legacy to add the device entry.
Signed-off-by: Subhransu S. Prusty subhransu.s.prusty@intel.com Signed-off-by: Vinod Koul vinod.koul@intel.com --- include/sound/hdaudio_ext.h | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/include/sound/hdaudio_ext.h b/include/sound/hdaudio_ext.h index 719edff2a77b..425af0674557 100644 --- a/include/sound/hdaudio_ext.h +++ b/include/sound/hdaudio_ext.h @@ -40,6 +40,13 @@ void snd_hdac_ext_bus_device_remove(struct hdac_ext_bus *ebus); #define hbus_to_ebus(_bus) \ container_of(_bus, struct hdac_ext_bus, bus)
+#define HDA_CODEC_REV_EXT_ENTRY(_vid, _rev, _name, drv_data) \ + { .vendor_id = (_vid), .rev_id = (_rev), .name = (_name), \ + .api_version = HDA_DEV_ASOC, \ + .driver_data = (unsigned long)(drv_data) } +#define HDA_CODEC_EXT_ENTRY(_vid, _revid, _name, _drv_data) \ + HDA_CODEC_REV_EXT_ENTRY(_vid, _revid, _name, _drv_data) + int snd_hdac_ext_bus_parse_capabilities(struct hdac_ext_bus *sbus); void snd_hdac_ext_bus_ppcap_enable(struct hdac_ext_bus *chip, bool enable); void snd_hdac_ext_bus_ppcap_int_enable(struct hdac_ext_bus *chip, bool enable);