Re: [PATCH] ALSA: hda - Add new GPU codec ID to snd-hda

From: Takashi Iwai
Date: Mon Jul 15 2013 - 04:26:22 EST


At Sat, 13 Jul 2013 21:05:01 -0700,
Greg KH wrote:
>
> On Fri, Jul 12, 2013 at 11:01:37AM -0700, Aaron Plattner wrote:
> > Vendor ID 0x10de0060 is used by a yet-to-be-named GPU chip.
> >
> > Reviewed-by: Andy Ritger <aritger@xxxxxxxxxx>
> > Signed-off-by: Aaron Plattner <aplattner@xxxxxxxxxx>
> > ---
> > sound/pci/hda/patch_hdmi.c | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
> > index e12f7a0..486def7 100644
> > --- a/sound/pci/hda/patch_hdmi.c
> > +++ b/sound/pci/hda/patch_hdmi.c
> > @@ -2536,6 +2536,7 @@ static const struct hda_codec_preset snd_hda_preset_hdmi[] = {
> > { .id = 0x10de0043, .name = "GPU 43 HDMI/DP", .patch = patch_generic_hdmi },
> > { .id = 0x10de0044, .name = "GPU 44 HDMI/DP", .patch = patch_generic_hdmi },
> > { .id = 0x10de0051, .name = "GPU 51 HDMI/DP", .patch = patch_generic_hdmi },
> > +{ .id = 0x10de0060, .name = "GPU 60 HDMI/DP", .patch = patch_generic_hdmi },
> > { .id = 0x10de0067, .name = "MCP67 HDMI", .patch = patch_nvhdmi_2ch },
> > { .id = 0x10de8001, .name = "MCP73 HDMI", .patch = patch_nvhdmi_2ch },
> > { .id = 0x11069f80, .name = "VX900 HDMI/DP", .patch = patch_via_hdmi },
> > @@ -2588,6 +2589,7 @@ MODULE_ALIAS("snd-hda-codec-id:10de0042");
> > MODULE_ALIAS("snd-hda-codec-id:10de0043");
> > MODULE_ALIAS("snd-hda-codec-id:10de0044");
> > MODULE_ALIAS("snd-hda-codec-id:10de0051");
> > +MODULE_ALIAS("snd-hda-codec-id:10de0060");
> > MODULE_ALIAS("snd-hda-codec-id:10de0067");
> > MODULE_ALIAS("snd-hda-codec-id:10de8001");
> > MODULE_ALIAS("snd-hda-codec-id:11069f80");
>
> Why are these module aliases being created by hand and not automated
> like all other aliases that contain device ids like this are?

Because of the bad design :)

The HD-audio codec isn't created as a normal device but just as an own
object of HD-audio driver. The module alias is used when hd-audio
codec driver loads its codec-specific code, and it does
request_module() manually.

The module alias isn't automated because there won't be much additions
that require manual alias any longer. Most of new codecs are grouped
in the vendor id, thus no need for addition. The only still necessary
case is HDMI audio like this, and there will be only a few per year at
most.

Of course, it'd be better to be moved to a more standard model, but
it's been left as is, partly due to a historical reason, partly not to
break the current user-space setup, and partly lack of my time.


thanks,

Takashi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/