]> git.ipfire.org Git - thirdparty/linux.git/blobdiff - sound/pci/hda/patch_nvhdmi.c
ALSA: hda - Modularize HD-audio driver
[thirdparty/linux.git] / sound / pci / hda / patch_nvhdmi.c
index 1360d54a7d0197090e5fd9498fe2c9fb288e2d2a..e23de5594b6e123624305e48c8bda1c5c924c291 100644 (file)
@@ -28,7 +28,6 @@
 #include <sound/core.h>
 #include "hda_codec.h"
 #include "hda_local.h"
-#include "hda_patch.h"
 
 struct nvhdmi_spec {
        struct hda_multi_out multiout;
@@ -159,8 +158,32 @@ static int patch_nvhdmi(struct hda_codec *codec)
 /*
  * patch entries
  */
-struct hda_codec_preset snd_hda_preset_nvhdmi[] = {
+static struct hda_codec_preset snd_hda_preset_nvhdmi[] = {
        { .id = 0x10de0002, .name = "NVIDIA MCP78 HDMI", .patch = patch_nvhdmi },
        { .id = 0x10de0007, .name = "NVIDIA MCP7A HDMI", .patch = patch_nvhdmi },
        {} /* terminator */
 };
+
+MODULE_ALIAS("snd-hda-codec-id:10de0002");
+MODULE_ALIAS("snd-hda-codec-id:10de0007");
+
+MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("Nvidia HDMI HD-audio codec");
+
+static struct hda_codec_preset_list nvhdmi_list = {
+       .preset = snd_hda_preset_nvhdmi,
+       .owner = THIS_MODULE,
+};
+
+static int __init patch_nvhdmi_init(void)
+{
+       return snd_hda_add_codec_preset(&nvhdmi_list);
+}
+
+static void __exit patch_nvhdmi_exit(void)
+{
+       snd_hda_delete_codec_preset(&nvhdmi_list);
+}
+
+module_init(patch_nvhdmi_init)
+module_exit(patch_nvhdmi_exit)