Module Name:    src
Committed By:   christos
Date:           Fri Sep 19 17:23:35 UTC 2014

Modified Files:
        src/sys/dev/pci/hdaudio: files.hdaudio hdafg.c hdaudio.c
Added Files:
        src/sys/dev/pci/hdaudio: Makefile.hdaudiodevs hdaudio_verbose.c
            hdaudio_verbose.h hdaudiodevs
Removed Files:
        src/sys/dev/pci/hdaudio: hdaudio_ids.c hdaudio_ids.h

Log Message:
Pull out the device list and auto-generate it.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/sys/dev/pci/hdaudio/Makefile.hdaudiodevs \
    src/sys/dev/pci/hdaudio/hdaudio_verbose.c \
    src/sys/dev/pci/hdaudio/hdaudio_verbose.h \
    src/sys/dev/pci/hdaudio/hdaudiodevs
cvs rdiff -u -r1.5 -r1.6 src/sys/dev/pci/hdaudio/files.hdaudio
cvs rdiff -u -r1.21 -r1.22 src/sys/dev/pci/hdaudio/hdafg.c
cvs rdiff -u -r1.22 -r1.23 src/sys/dev/pci/hdaudio/hdaudio.c
cvs rdiff -u -r1.8 -r0 src/sys/dev/pci/hdaudio/hdaudio_ids.c
cvs rdiff -u -r1.3 -r0 src/sys/dev/pci/hdaudio/hdaudio_ids.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/pci/hdaudio/files.hdaudio
diff -u src/sys/dev/pci/hdaudio/files.hdaudio:1.5 src/sys/dev/pci/hdaudio/files.hdaudio:1.6
--- src/sys/dev/pci/hdaudio/files.hdaudio:1.5	Sat Feb 12 10:15:34 2011
+++ src/sys/dev/pci/hdaudio/files.hdaudio	Fri Sep 19 13:23:35 2014
@@ -1,12 +1,12 @@
-# $NetBSD: files.hdaudio,v 1.5 2011/02/12 15:15:34 jmcneill Exp $
+# $NetBSD: files.hdaudio,v 1.6 2014/09/19 17:23:35 christos Exp $
 
 #
 # Intel High Definition Audio (Revision 1.0)
 #
 define	hdaudiobus	{[nid = -1]}
 device	hdaudio: hdaudiobus
-file	dev/pci/hdaudio/hdaudio.c	hdaudio
-file	dev/pci/hdaudio/hdaudio_ids.c	hdaudio
+file	dev/pci/hdaudio/hdaudio.c		hdaudio
+file	dev/pci/hdaudio/hdaudio_verbose.c	hdaudio & hdaudioverbose
 
 device	hdafg: audiobus, auconv, aurateconv, mulaw
 attach	hdafg at hdaudiobus

Index: src/sys/dev/pci/hdaudio/hdafg.c
diff -u src/sys/dev/pci/hdaudio/hdafg.c:1.21 src/sys/dev/pci/hdaudio/hdafg.c:1.22
--- src/sys/dev/pci/hdaudio/hdafg.c:1.21	Fri May 23 09:57:04 2014
+++ src/sys/dev/pci/hdaudio/hdafg.c	Fri Sep 19 13:23:35 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: hdafg.c,v 1.21 2014/05/23 13:57:04 msaitoh Exp $ */
+/* $NetBSD: hdafg.c,v 1.22 2014/09/19 17:23:35 christos Exp $ */
 
 /*
  * Copyright (c) 2009 Precedence Technologies Ltd <supp...@precedence.co.uk>
@@ -60,7 +60,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: hdafg.c,v 1.21 2014/05/23 13:57:04 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: hdafg.c,v 1.22 2014/09/19 17:23:35 christos Exp $");
 
 #include <sys/types.h>
 #include <sys/param.h>
@@ -82,7 +82,8 @@ __KERNEL_RCSID(0, "$NetBSD: hdafg.c,v 1.
 #include "hdaudioreg.h"
 #include "hdaudio_mixer.h"
 #include "hdaudioio.h"
-#include "hdaudio_ids.h"
+#include "hdaudio_verbose.h"
+#include "hdaudiodevs.h"
 #include "hdafg_dd.h"
 #include "hdmireg.h"
 
@@ -685,7 +686,7 @@ hdafg_widget_getcaps(struct hdaudio_widg
 	w->w_waspin = false;
 
 	switch (sc->sc_vendor) {
-	case HDA_VENDOR_ANALOG_DEVICES:
+	case HDAUDIO_VENDOR_ANALOG:
 		/*
 		 * help the parser by marking the analog
 		 * beeper as a beep generator
@@ -3612,10 +3613,9 @@ hdafg_attach(device_t parent, device_t s
 
 	prop_dictionary_get_uint16(args, "vendor-id", &sc->sc_vendor);
 	prop_dictionary_get_uint16(args, "product-id", &sc->sc_product);
-	hdaudio_id2name(sc->sc_vendor, HDA_PRODUCT_ANY,
-	    vendor, sizeof(vendor));
-	hdaudio_id2name(sc->sc_vendor, sc->sc_product,
-	    product, sizeof(product));
+	get_hdaudio_vendor(vendor, sizeof(vendor), sc->sc_vendor);
+	get_hdaudio_product(product, sizeof(product), sc->sc_vendor,
+	    sc->sc_product);
 	hda_print1(sc, ": %s %s%s\n", vendor, product,
 	    sc->sc_config ? " (custom configuration)" : "");
 
@@ -3965,10 +3965,10 @@ hdafg_getdev(void *opaque, struct audio_
 	struct hdaudio_audiodev *ad = opaque;
 	struct hdafg_softc *sc = ad->ad_sc;
 
-	hdaudio_id2name(sc->sc_vendor, HDA_PRODUCT_ANY,
-	    audiodev->name, sizeof(audiodev->name));
-	hdaudio_id2name(sc->sc_vendor, sc->sc_product,
-	    audiodev->version, sizeof(audiodev->version));
+	get_hdaudio_vendor(audiodev->name, sizeof(audiodev->name),
+	    sc->sc_vendor);
+	get_hdaudio_product(audiodev->version, sizeof(audiodev->version),
+	    sc->sc_vendor, sc->sc_product);
 	snprintf(audiodev->config, sizeof(audiodev->config) - 1,
 	    "%02Xh", sc->sc_nid);
 

Index: src/sys/dev/pci/hdaudio/hdaudio.c
diff -u src/sys/dev/pci/hdaudio/hdaudio.c:1.22 src/sys/dev/pci/hdaudio/hdaudio.c:1.23
--- src/sys/dev/pci/hdaudio/hdaudio.c:1.22	Fri Jul 25 04:10:38 2014
+++ src/sys/dev/pci/hdaudio/hdaudio.c	Fri Sep 19 13:23:35 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: hdaudio.c,v 1.22 2014/07/25 08:10:38 dholland Exp $ */
+/* $NetBSD: hdaudio.c,v 1.23 2014/09/19 17:23:35 christos Exp $ */
 
 /*
  * Copyright (c) 2009 Precedence Technologies Ltd <supp...@precedence.co.uk>
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: hdaudio.c,v 1.22 2014/07/25 08:10:38 dholland Exp $");
+__KERNEL_RCSID(0, "$NetBSD: hdaudio.c,v 1.23 2014/09/19 17:23:35 christos Exp $");
 
 #include <sys/types.h>
 #include <sys/param.h>
@@ -44,6 +44,7 @@ __KERNEL_RCSID(0, "$NetBSD: hdaudio.c,v 
 #include "hdaudiovar.h"
 #include "hdaudioreg.h"
 #include "hdaudioio.h"
+#include "hdaudio_verbose.h"
 
 /* #define	HDAUDIO_DEBUG */
 
@@ -1629,3 +1630,44 @@ hdaudio_modcmd(modcmd_t cmd, void *opaqu
 		return ENOTTY;
 	}
 }
+
+void hdaudio_load_verbose(void);
+
+void get_hdaudio_vendor_stub(char *, size_t, hdaudio_vendor_id_t);
+void get_hdaudio_product_stub(char *, size_t, hdaudio_vendor_id_t,
+    hdaudio_product_id_t);
+
+void (*get_hdaudio_vendor)(char *, size_t, hdaudio_vendor_id_t) =
+    get_hdaudio_vendor_stub;
+void (*get_hdaudio_product)(char *, size_t, hdaudio_vendor_id_t,
+    hdaudio_product_id_t) = get_hdaudio_product_stub;
+
+int hdaudio_verbose_loaded = 0;
+
+/*
+ * Load the hdaudioverbose module
+ */
+void hdaudio_load_verbose(void)
+{
+	if (hdaudio_verbose_loaded == 0)
+		module_autoload("hdaudioverbose", MODULE_CLASS_MISC);
+}
+
+void get_hdaudio_vendor_stub(char *v, size_t l, hdaudio_vendor_id_t v_id)
+{
+	hdaudio_load_verbose();
+	if (hdaudio_verbose_loaded)
+		get_hdaudio_vendor(v, l, v_id);
+	else
+		snprintf(v, l, "vendor 0x%.4x", v_id);
+}
+
+void get_hdaudio_product_stub(char *p, size_t l, hdaudio_vendor_id_t v_id,
+    hdaudio_product_id_t p_id)
+{
+	hdaudio_load_verbose();
+	if (hdaudio_verbose_loaded)
+		get_hdaudio_product(p, l, v_id, p_id);
+	else
+		snprintf(p, l, "product 0x%.4x", p_id);
+}

Added files:

Index: src/sys/dev/pci/hdaudio/Makefile.hdaudiodevs
diff -u /dev/null src/sys/dev/pci/hdaudio/Makefile.hdaudiodevs:1.1
--- /dev/null	Fri Sep 19 13:23:35 2014
+++ src/sys/dev/pci/hdaudio/Makefile.hdaudiodevs	Fri Sep 19 13:23:35 2014
@@ -0,0 +1,18 @@
+#	$NetBSD: Makefile.hdaudiodevs,v 1.1 2014/09/19 17:23:35 christos Exp $
+
+#	The header files depend on the correct version of hdaudiodevs.
+#
+#	Thus, the procedure is:
+#	  1) change hdaudiodevs
+#	  2) commit hdaudiodevs
+#	  3) _then_ generate header files
+#	  4) commit them
+
+.include <bsd.own.mk>
+
+UNAME=	uname
+RM=	rm
+
+hdaudiodevs.h hdaudiodevs_data.h: hdaudiodevs devlist2h.awk
+	${RM} -f hdaudiodevs.h hdaudiodevs_data.h
+	${TOOL_AWK} -v os=`${UNAME} -s` -f devlist2h.awk hdaudiodevs
Index: src/sys/dev/pci/hdaudio/hdaudio_verbose.c
diff -u /dev/null src/sys/dev/pci/hdaudio/hdaudio_verbose.c:1.1
--- /dev/null	Fri Sep 19 13:23:35 2014
+++ src/sys/dev/pci/hdaudio/hdaudio_verbose.c	Fri Sep 19 13:23:35 2014
@@ -0,0 +1,113 @@
+/*	$NetBSD: hdaudio_verbose.c,v 1.1 2014/09/19 17:23:35 christos Exp $ */
+
+/*
+ * Copyright (c) 2014 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Lennart Augustsson (lenn...@augustsson.net) at
+ * Carlstedt Research & Technology.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+__KERNEL_RCSID(0, "$NetBSD: hdaudio_verbose.c,v 1.1 2014/09/19 17:23:35 christos Exp $");
+
+#include <sys/param.h>
+#include <sys/module.h>
+
+#include <dev/pci/hdaudio/hdaudio_verbose.h>
+
+/*
+ * Descriptions of known vendors and devices ("products").
+ */
+struct hdaudio_vendor {
+	hdaudio_vendor_id_t		vendor;
+	const char		*vendorname;
+};
+struct hdaudio_product {
+	hdaudio_vendor_id_t		vendor;
+	hdaudio_product_id_t	product;
+	const char		*productname;
+};
+
+#include <dev/pci/hdaudio/hdaudiodevs.h>
+#include <dev/pci/hdaudio/hdaudiodevs_data.h>
+
+void get_hdaudio_vendor_real(char *, size_t, hdaudio_vendor_id_t);
+void get_hdaudio_product_real(char *, size_t, hdaudio_vendor_id_t, hdaudio_product_id_t);
+
+MODULE(MODULE_CLASS_MISC, hdaudioverbose, NULL);
+  
+static int
+hdaudioverbose_modcmd(modcmd_t cmd, void *arg)
+{
+	static void (*saved_hdaudio_vendor)(char *, size_t, hdaudio_vendor_id_t);
+	static void (*saved_hdaudio_product)(char *, size_t, hdaudio_vendor_id_t,
+		hdaudio_product_id_t);
+
+	switch (cmd) {
+	case MODULE_CMD_INIT:
+		saved_hdaudio_vendor = get_hdaudio_vendor;
+		saved_hdaudio_product = get_hdaudio_product;
+		get_hdaudio_vendor = get_hdaudio_vendor_real;
+		get_hdaudio_product = get_hdaudio_product_real;
+		hdaudio_verbose_loaded = 1;
+		return 0;
+	case MODULE_CMD_FINI:
+		get_hdaudio_vendor = saved_hdaudio_vendor;
+		get_hdaudio_product = saved_hdaudio_product;
+		hdaudio_verbose_loaded = 0;
+		return 0;
+	default:
+		return ENOTTY;  
+	}
+}
+
+void get_hdaudio_vendor_real(char *v, size_t vl, hdaudio_vendor_id_t v_id)
+{
+	int n;
+
+	/* There is no need for strlcpy below. */
+	for (n = 0; n < hdaudio_nvendors; n++)
+		if (hdaudio_vendors[n].vendor == v_id) {
+			strlcpy(v, hdaudio_vendors[n].vendorname, vl);
+			return;
+		}
+	snprintf(v, vl, "vendor 0x%.x", v_id);
+}
+
+void get_hdaudio_product_real(char *p, size_t pl, hdaudio_vendor_id_t v_id,
+    hdaudio_product_id_t p_id)
+{
+	int n;
+
+	/* There is no need for strlcpy below. */
+	for (n = 0; n < hdaudio_nproducts; n++)
+		if (hdaudio_products[n].vendor == v_id &&
+		    hdaudio_products[n].product == p_id) {
+			strlcpy(p, hdaudio_products[n].productname, pl);
+			return;
+		}
+	snprintf(p, pl, "product 0x%.x", v_id);
+}
Index: src/sys/dev/pci/hdaudio/hdaudio_verbose.h
diff -u /dev/null src/sys/dev/pci/hdaudio/hdaudio_verbose.h:1.1
--- /dev/null	Fri Sep 19 13:23:35 2014
+++ src/sys/dev/pci/hdaudio/hdaudio_verbose.h	Fri Sep 19 13:23:35 2014
@@ -0,0 +1,45 @@
+/*      $NetBSD: hdaudio_verbose.h,v 1.1 2014/09/19 17:23:35 christos Exp $ */
+
+/*
+ * Copyright (c) 1998, 2004 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Lennart Augustsson (lenn...@augustsson.net) at
+ * Carlstedt Research & Technology.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef _DEV_PCI_HDAUDIO_HDAUDIO_VERBOSE_H_
+#define _DEV_PCI_HDAUDIO_HDAUDIO_VERBOSE_H_
+
+typedef u_int16_t hdaudio_vendor_id_t;
+typedef u_int16_t hdaudio_product_id_t;
+
+extern void (*get_hdaudio_vendor)(char *, size_t, hdaudio_vendor_id_t);
+extern void (*get_hdaudio_product)(char *, size_t, hdaudio_vendor_id_t,
+    hdaudio_product_id_t);
+
+extern int hdaudio_verbose_loaded;
+
+#endif /* _DEV_PCI_HDAUDIO_HDAUDIO_VERBOSE_H_ */
Index: src/sys/dev/pci/hdaudio/hdaudiodevs
diff -u /dev/null src/sys/dev/pci/hdaudio/hdaudiodevs:1.1
--- /dev/null	Fri Sep 19 13:23:35 2014
+++ src/sys/dev/pci/hdaudio/hdaudiodevs	Fri Sep 19 13:23:35 2014
@@ -0,0 +1,245 @@
+$NetBSD: hdaudiodevs,v 1.1 2014/09/19 17:23:35 christos Exp $
+
+/*
+ * Copyright (c) 2010 Jared D. McNeill <jmcne...@invisible.ca>
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Precedence TeCHnologies Ltd
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+/* The following is duplicated from pci except SIGMATEL* and CMEDIA */
+vendor	ATI		0x1002	ATI Technologies
+vendor	NVIDIA		0x10de	NVIDIA
+vendor	REALTEK		0x10ec	Realtek Semiconductor
+vendor	VIATECH		0x1106	VIA TeCHnologies
+vendor	SIGMATEL2	0x111d	Sigmatel
+vendor	ANALOG		0x11d4	Analog Devices
+vendor	CONEXANT	0x14f1	Conexant Systems
+vendor	VMWARE		0x15ad	VMware
+vendor	CMEDIA		0x434d	C-Media Electronics
+vendor	INTEL		0x8086	Intel
+vendor	SIGMATEL	0x8384	Sigmatel
+
+/* ATI */
+product	ATI		RS600_HDMI_1	0x7919	RS600 HDMI
+product	ATI		RS600_HDMI_2	0x793c	RS600 HDMI
+product	ATI		RS690_780_HDMI	0x791a	RS690/780 HDMI
+product	ATI		R6xx_HDMI	0xaa01	R6xx HDMI
+
+/* NVIDIA */
+product	NVIDIA		MCP77_78_HDMI_2	0x0002	MCP77/78 HDMI
+product	NVIDIA		MCP77_78_HDMI_3	0x0003	MCP77/78 HDMI
+product	NVIDIA		MCP77_78_HDMI_5	0x0005	MCP77/78 HDMI
+product	NVIDIA		MCP77_78_HDMI_6	0x0006	MCP77/78 HDMI
+product	NVIDIA		MCP79_7A_HDMI_7	0x0007	MCP79/7A HDMI
+product	NVIDIA		GT220_HDMI	0x000a	GT220 HDMI
+product	NVIDIA		GT21x_HDMI	0x000b	GT21x HDMI
+product	NVIDIA		MCP89_HDMI	0x000c	MCP89 HDMI
+product	NVIDIA		GT240_HDMI	0x000d	GT240 HDMI
+product	NVIDIA		GT5xx_HDMI_DP	0x0015	GT5xx HDMI/DP
+product	NVIDIA		MCP67_HDMI	0x0067	MCP67 HDMI
+product	NVIDIA		MCP73_HDMI	0x8001	MCP73 HDMI
+
+/* Realtek */
+product	REALTEK		ALC260		0x0260	ALC260
+product	REALTEK		ALC262		0x0262	ALC262
+product	REALTEK		ALC267		0x0267	ALC267
+product	REALTEK		ALC268		0x0268	ALC268
+product	REALTEK		ALC269		0x0269	ALC269
+product	REALTEK		ALC270		0x0270	ALC270
+product	REALTEK		ALC272		0x0272	ALC272
+product	REALTEK		ALC275		0x0275	ALC275
+product	REALTEK		ALC660_VD	0x0660	ALC660-VD
+product	REALTEK		ALC662		0x0662	ALC662
+product	REALTEK		ALC663		0x0663	ALC663
+product	REALTEK		ALC670		0x0670	ALC670
+product	REALTEK		ALC861		0x0861	ALC861
+product	REALTEK		ALC861_VD	0x0862	ALC861-VD
+product	REALTEK		ALC880		0x0880	ALC880
+product	REALTEK		ALC882		0x0882	ALC882
+product	REALTEK		ALC883		0x0883	ALC883
+product	REALTEK		ALC885		0x0885	ALC885
+product	REALTEK		ALC887		0x0887	ALC887
+product	REALTEK		ALC888		0x0888	ALC888
+product	REALTEK		ALC889		0x0889	ALC889
+product	REALTEK		ALC892		0x0892	ALC892
+
+/* VIA */
+product	VIATECH		VT1708		0x1708	VT1708
+product	VIATECH		VT1709		0x1709	VT1708
+product	VIATECH		VT170A		0x170a	VT1708
+product	VIATECH		VT170B		0x170b	VT1708
+product	VIATECH		VT1709_10CH_0	0xe710	VT1709 10ch
+product	VIATECH		VT1709_10CH_1	0xe711	VT1709 10ch
+product	VIATECH		VT1709_10CH_2	0xe712	VT1709 10ch
+product	VIATECH		VT1709_10CH_3	0xe713	VT1709 10ch
+product	VIATECH		VT1709_6CH_4	0xe714	VT1709 6ch
+product	VIATECH		VT1709_6CH_5	0xe715	VT1709 6ch
+product	VIATECH		VT1709_6CH_6	0xe716	VT1709 6ch
+product	VIATECH		VT1709_6CH_7	0xe717	VT1709 6ch
+product	VIATECH		VT1708B_8CH_0	0xe720	VT1708B 8ch
+product	VIATECH		VT1708B_8CH_1	0xe721	VT1708B 8ch
+product	VIATECH		VT1708B_8CH_2	0xe722	VT1708B 8ch
+product	VIATECH		VT1708B_8CH_3	0xe723	VT1708B 8ch
+product	VIATECH		VT1708B_4CH_4	0xe724	VT1708B 4ch
+product	VIATECH		VT1708B_4CH_5	0xe725	VT1708B 4ch
+product	VIATECH		VT1708B_4CH_6	0xe726	VT1708B 4ch
+product	VIATECH		VT1708B_4CH_7	0xe727	VT1708B 4ch
+product	VIATECH		VT1708S_0	0x0397	VT1708S
+product	VIATECH		VT1708S_1	0x1397	VT1708S
+product	VIATECH		VT1708S_2	0x2397	VT1708S
+product	VIATECH		VT1708S_3	0x3397	VT1708S
+product	VIATECH		VT1708S_4	0x4397	VT1708S
+product	VIATECH		VT1708S_5	0x5397	VT1708S
+product	VIATECH		VT1708S_6	0x6397	VT1708S
+product	VIATECH		VT1708S		0x7397	VT1708S
+product	VIATECH		VT1702_0	0x0398	VT1702
+product	VIATECH		VT1702_1	0x1398	VT1702
+product	VIATECH		VT1702_2	0x2398	VT1702
+product	VIATECH		VT1702_3	0x3398	VT1702
+product	VIATECH		VT1702_4	0x4398	VT1702
+product	VIATECH		VT1702_5	0x5398	VT1702
+product	VIATECH		VT1702_6	0x6398	VT1702
+product	VIATECH		VT1702_7	0x7398	VT1702
+product	VIATECH		VT1718S		0x0428	VT1718S
+product	VIATECH		VT1718S_1	0x4428	VT1718S
+product	VIATECH		VT2020		0x0441	VT2020
+product	VIATECH		VT1828S		0x4441	VT1828S
+product	VIATECH		VT1716S		0x0433	VT1716S
+product	VIATECH		VT1716S_1	0xa721	VT1716S
+product	VIATECH		VT2002P		0x0438	VT2002P
+product	VIATECH		VT2002P_1	0x4438	VT2002P
+product	VIATECH		VT1812		0x0448	VT1812
+product	VIATECH		VT1818S		0x0440	VT1818S
+product	VIATECH		VT1705		0x4760	VT1705
+
+/* Analog Devices */
+product	ANALOG		AD1884A		0x184a	AD1884A
+product	ANALOG		AD1882		0x1882	AD1882
+product	ANALOG		AD1883		0x1883	AD1883
+product	ANALOG		AD1884		0x1884	AD1884
+product	ANALOG		AD1984A		0x194a	AD1984A
+product	ANALOG		AD1984B		0x194b	AD1984B
+product	ANALOG		AD1981HD	0x1981	AD1981HD
+product	ANALOG		AD1983		0x1983	AD1983
+product	ANALOG		AD1984		0x1984	AD1984
+product	ANALOG		AD1986A		0x1986	AD1986A
+product	ANALOG		AD1988A		0x1988	AD1988A
+product	ANALOG		AD1988B		0x198b	AD1988B
+product	ANALOG		AD1989A		0x989a	AD1989A
+product	ANALOG		AD1989B		0x989b	AD1989B
+
+/* Conexant */
+product	CONEXANT	CX20549		0x5045	CX20549
+product	CONEXANT	CX20551		0x5047	CX20551
+product	CONEXANT	CX20561		0x5051	CX20561
+product	CONEXANT	CX20582		0x5066	CX20582
+product	CONEXANT	CX20583		0x5067	CX20583
+product	CONEXANT	CX20585		0x5069	CX20585
+product	CONEXANT	CX20671		0x506e	CX20671
+
+/* CMedia */
+product	CMEDIA		CMI9880		0x4980	CMI9880
+
+/* Intel */
+product	INTEL		Q57_HDMI	0x0054	Q57 HDMI
+product	INTEL		G45_HDMI_1	0x2801	G45 HDMI/1
+product	INTEL		G45_HDMI_2	0x2802	G45 HDMI/2
+product	INTEL		G45_HDMI_3	0x2803	G45 HDMI/3
+product	INTEL		G45_HDMI_4	0x2804	G45 HDMI/4
+product	INTEL		G45_HDMI_FB	0x29fb	G45 HDMI/FB
+
+/* Sigmatel */
+product	SIGMATEL	STAC9230X	0x7612	STAC9230X
+product	SIGMATEL	STAC9230D	0x7613	STAC9230D
+product	SIGMATEL	STAC9229X	0x7614	STAC9229X
+product	SIGMATEL	STAC9229D	0x7615	STAC9229D
+product	SIGMATEL	STAC9228X	0x7616	STAC9228X
+product	SIGMATEL	STAC9228D	0x7617	STAC9228D
+product	SIGMATEL	STAC9227X	0x7618	STAC9227X
+product	SIGMATEL	STAC9227D	0x7619	STAC9227D
+product	SIGMATEL	STAC9274	0x7620	STAC9274
+product	SIGMATEL	STAC9274D	0x7621	STAC9274D
+product	SIGMATEL	STAC9273X	0x7622	STAC9273X
+product	SIGMATEL	STAC9273D	0x7623	STAC9273D
+product	SIGMATEL	STAC9272X	0x7624	STAC9272X
+product	SIGMATEL	STAC9272D	0x7625	STAC9272D
+product	SIGMATEL	STAC9271X	0x7626	STAC9271X
+product	SIGMATEL	STAC9271D	0x7627	STAC9271D
+product	SIGMATEL	STAC9274X5NH	0x7628	STAC9274X5NH
+product	SIGMATEL	STAC9274D5NH	0x7629	STAC9274D5NH
+product	SIGMATEL	STAC9202	0x7632	STAC9202
+product	SIGMATEL	STAC9202D	0x7633	STAC9202D
+product	SIGMATEL	STAC9250	0x7634	STAC9250
+product	SIGMATEL	STAC9250D_1	0x7635	STAC9250D
+product	SIGMATEL	STAC9251	0x7636	STAC9251
+product	SIGMATEL	STAC9250D_2	0x7637	STAC9250D
+product	SIGMATEL	92HD206X	0x7645	92HD206X
+product	SIGMATEL	92HD206D	0x7646	92HD206D
+product	SIGMATEL	CXD9872RD_K	0x7661	CXD9872RD/K
+product	SIGMATEL	STAC9872AK	0x7662	STAC9872AK
+product	SIGMATEL	CXD9872AKD	0x7664	CXD9872AKD
+product	SIGMATEL	STAC9221_A1	0x7680	STAC9221 A1
+product	SIGMATEL	STAC9220D	0x7681	STAC9220D
+product	SIGMATEL	STAC9221_A2	0x7682	STAC9221 A2
+product	SIGMATEL	STAC9221D	0x7683	STAC9221D
+product	SIGMATEL	STAC9200	0x7690	STAC9200
+product	SIGMATEL	STAC9200D	0x7691	STAC9200D
+product	SIGMATEL	STAC9205	0x7698	STAC9205
+product	SIGMATEL	STAC9205_1	0x76a0	STAC9205
+product	SIGMATEL	STAC9205D	0x76a1	STAC9205D
+product	SIGMATEL	STAC9204	0x76a2	STAC9204
+product	SIGMATEL	STAC9204D	0x76a3	STAC9204D
+product	SIGMATEL	STAC9255	0x76a4	STAC9255
+product	SIGMATEL	STAC9255D	0x76a5	STAC9255D
+product	SIGMATEL	STAC9254	0x76a6	STAC9254
+product	SIGMATEL	STAC9254D	0x76a7	STAC9254D
+product	SIGMATEL	STAC9220_A2	0x7880	STAC9220 A2
+product	SIGMATEL	STAC9220_A1	0x7882	STAC9220 A1
+
+/* Sigmatel (alternate vendor ID) */
+product	SIGMATEL2	92HD75B3X5	0x7603	92HD75B3X5
+product	SIGMATEL2	92HD83C1X5	0x7604	92HD83C1X5
+product	SIGMATEL2	92HD81B1X5	0x7605	92HD81B1X5
+product	SIGMATEL2	92HD75B2X5	0x7608	92HD75B2X5
+product	SIGMATEL2	92HD88B3	0x7666	92HD88B3
+product	SIGMATEL2	92HD88B1	0x7667	92HD88B1
+product	SIGMATEL2	92HD88B2	0x7668	92HD88B2
+product	SIGMATEL2	92HD88B4	0x7669	92HD88B4
+product	SIGMATEL2	92HD73D1X5	0x7674	92HD73D1X5
+product	SIGMATEL2	92HD73C1X5	0x7675	92HD73C1X5
+product	SIGMATEL2	92HD73E1X5	0x7676	92HD73E1X5
+product	SIGMATEL2	92HD71B8X	0x76b0	92HD71B8X
+product	SIGMATEL2	92HD71B8X_1	0x76b1	92HD71B8X
+product	SIGMATEL2	92HD71B7X	0x76b2	92HD71B7X
+product	SIGMATEL2	92HD71B7X_1	0x76b3	92HD71B7X
+product	SIGMATEL2	92HD71B6X	0x76b4	92HD71B6X
+product	SIGMATEL2	92HD71B6X_1	0x76b5	92HD71B6X
+product	SIGMATEL2	92HD71B5X	0x76b6	92HD71B5X
+product	SIGMATEL2	92HD71B5X_1	0x76b7	92HD71B5X
+product	SIGMATEL2	92HD83C1C5	0x76d4	92HD83C1C5
+product	SIGMATEL2	92HD81B1C5_1	0x76d5	92HD81B1C5
+
+/* VMware */
+product	VMWARE		VIRTUAL_HDA	0x1975	Virtual HDA

Reply via email to