Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 17 Apr 2008 23:10:49 GMT
From:      Sam Leffler <sam@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 140186 for review
Message-ID:  <200804172310.m3HNAnrT012927@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=140186

Change 140186 by sam@sam_ebb on 2008/04/17 23:09:58

	cleanup

Affected files ...

.. //depot/projects/vap/sys/dev/mwl/if_mwl_pci.c#2 edit

Differences ...

==== //depot/projects/vap/sys/dev/mwl/if_mwl_pci.c#2 (text+ko) ====

@@ -78,17 +78,43 @@
 #define	BS_BAR0	0x10
 #define	BS_BAR1	0x14
 
+struct mwl_pci_ident {
+	uint16_t	vendor;
+	uint16_t	device;
+	const char	*name;
+};
+
+static const struct mwl_pci_ident mwl_pci_ids[] = {
+	{ 0x11ab, 0x2a02, "Marvell 88W8363" },
+	{ 0x11ab, 0x2a03, "Marvell 88W8363" },
+	{ 0x11ab, 0x2a0a, "Marvell 88W8363" },
+	{ 0x11ab, 0x2a0b, "Marvell 88W8363" },
+	{ 0x11ab, 0x2a0c, "Marvell 88W8363" },
+	{ 0x11ab, 0x2a21, "Marvell 88W8363" },
+	{ 0x11ab, 0x2a24, "Marvell 88W8363" },
+
+	{ 0, 0, NULL }
+};
+
+const static struct mwl_pci_ident *
+mwl_pci_lookup(int vendor, int device)
+{
+	const struct mwl_pci_ident *ident;
+
+	for (ident = mwl_pci_ids; ident->name != NULL; ident++)
+		if (vendor == ident->vendor && device == ident->device)
+			return ident;
+	return NULL;
+}
+
 static int
 mwl_pci_probe(device_t dev)
 {
-	if (pci_get_vendor(dev) == 0x11ab &&
-	      (pci_get_device(dev) == 0x2a02
-	    || pci_get_device(dev) == 0x2a03
-	    || pci_get_device(dev) == 0x2a0b
-	    || pci_get_device(dev) == 0x2a0c
-	    || pci_get_device(dev) == 0x2a21
-	    || pci_get_device(dev) == 0x2a24)) {
-		device_set_desc(dev, "Marvell 88W8363");
+	const struct mwl_pci_ident *ident;
+
+	ident = mwl_pci_lookup(pci_get_vendor(dev), pci_get_device(dev));
+	if (ident != NULL) {
+		device_set_desc(dev, ident->name);
 		return BUS_PROBE_DEFAULT;
 	}
 	return ENXIO;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200804172310.m3HNAnrT012927>