linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Adding PCI ID tables to aic7xxx and aic79xxx
@ 2004-10-12 17:35 Luben Tuikov
  2004-10-12 18:14 ` Christoph Hellwig
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Luben Tuikov @ 2004-10-12 17:35 UTC (permalink / raw)
  To: SCSI Mailing List; +Cc: James Bottomley

Adding proper PCI ID tables to aic7xxx and aic79xx.

# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
#   2004/10/12 13:35:39-04:00 luben@lion.adaptec.com
#   Adding proper PCI ID tables to aic7xxx and aic79xx drivers.
#
# drivers/scsi/aic7xxx/aiclib.h
#   2004/10/12 13:35:25-04:00 luben@lion.adaptec.com +39 -0
#   Adding macros for generating the elements of PCI ID tables.
#
# drivers/scsi/aic7xxx/aic7xxx_pci.h
#   2004/10/12 13:35:25-04:00 luben@lion.adaptec.com +45 -13
#   Adding copyright and proper macro declarations.
#
# drivers/scsi/aic7xxx/aic7xxx_pci.c
#   2004/10/12 13:35:25-04:00 luben@lion.adaptec.com +13 -0
#   No need of this static function in this header file.
#
# drivers/scsi/aic7xxx/aic7xxx_osm_pci.c
#   2004/10/12 13:35:25-04:00 luben@lion.adaptec.com +18 -15
#   Adding proper PCI ID table.
#
# drivers/scsi/aic7xxx/aic79xx_pci.c
#   2004/10/12 13:35:25-04:00 luben@lion.adaptec.com +2 -24
#   Moving ID definitions out of this file into their own.
#
# drivers/scsi/aic7xxx/aic79xx_osm_pci.c
#   2004/10/12 13:35:25-04:00 luben@lion.adaptec.com +25 -9
#   Adding PCI ID table.
#
# drivers/scsi/aic7xxx/aic79xx_osm.h
#   2004/10/12 13:35:25-04:00 luben@lion.adaptec.com +1 -0
#   Cosmetic.
#
# drivers/scsi/aic7xxx/aic79xx_pci.h
#   2004/10/12 11:09:00-04:00 luben@lion.adaptec.com +70 -0
#
# drivers/scsi/aic7xxx/aic79xx_pci.h
#   2004/10/12 11:08:59-04:00 luben@lion.adaptec.com +0 -0
#   BitKeeper file /home/luben/projects/scsi-misc-2.6/drivers/scsi/aic7xxx/aic79xx_pci.h
#
# drivers/scsi/aic7xxx/aic79xx_pci.c
#   2004/10/08 17:44:32-04:00 luben@lion.adaptec.com +0 -0
#   *** empty log message ***
#
diff -Nru a/drivers/scsi/aic7xxx/aic79xx_osm.h b/drivers/scsi/aic7xxx/aic79xx_osm.h
--- a/drivers/scsi/aic7xxx/aic79xx_osm.h	2004-10-12 13:37:14 -04:00
+++ b/drivers/scsi/aic7xxx/aic79xx_osm.h	2004-10-12 13:37:14 -04:00
@@ -1143,4 +1143,5 @@
  #endif
  #define bootverbose aic79xx_verbose
  extern uint32_t aic79xx_verbose;
+
  #endif /* _AIC79XX_LINUX_H_ */
diff -Nru a/drivers/scsi/aic7xxx/aic79xx_osm_pci.c b/drivers/scsi/aic7xxx/aic79xx_osm_pci.c
--- a/drivers/scsi/aic7xxx/aic79xx_osm_pci.c	2004-10-12 13:37:14 -04:00
+++ b/drivers/scsi/aic7xxx/aic79xx_osm_pci.c	2004-10-12 13:37:14 -04:00
@@ -41,6 +41,7 @@

  #include "aic79xx_osm.h"
  #include "aic79xx_inline.h"
+#include "aic79xx_pci.h"

  static int	ahd_linux_pci_dev_probe(struct pci_dev *pdev,
  					const struct pci_device_id *ent);
@@ -51,16 +52,31 @@
  						 uint8_t **maddr);
  static void	ahd_linux_pci_dev_remove(struct pci_dev *pdev);

-/* We do our own ID filtering.  So, grab all SCSI storage class devices. */
+/* Define the macro locally since it's different for different class of chips.
+ */
+#define ID(x)            \
+	ID2C(x),         \
+	ID2C(IDIROC(x))
+
  static struct pci_device_id ahd_linux_pci_id_table[] = {
-	{
-		0x9005, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
-		PCI_CLASS_STORAGE_SCSI << 8, 0xFFFF00, 0
-	},
-	{
-		0x9005, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
-		PCI_CLASS_STORAGE_RAID << 8, 0xFFFF00, 0
-	},
+	/* aic7901 based controllers */
+	ID(ID_AHA_29320A),
+	ID(ID_AHA_29320ALP),
+	/* aic7902 based controllers */
+	ID(ID_AHA_29320),
+	ID(ID_AHA_29320B),
+	ID(ID_AHA_29320LP),
+	ID(ID_AHA_39320),
+	ID(ID_AHA_39320_B),
+	ID(ID_AHA_39320A),
+	ID(ID_AHA_39320D),
+	ID(ID_AHA_39320D_HP),
+	ID(ID_AHA_39320D_B),
+	ID(ID_AHA_39320D_B_HP),
+	/* Generic chip probes for devices we don't know exactly. */
+	ID16(ID_AIC7901 & ID_9005_GENERIC_MASK),
+	ID(ID_AIC7901A & ID_DEV_VENDOR_MASK),
+	ID16(ID_AIC7902 & ID_9005_GENERIC_MASK),
  	{ 0 }
  };

diff -Nru a/drivers/scsi/aic7xxx/aic79xx_pci.c b/drivers/scsi/aic7xxx/aic79xx_pci.c
--- a/drivers/scsi/aic7xxx/aic79xx_pci.c	2004-10-12 13:37:14 -04:00
+++ b/drivers/scsi/aic7xxx/aic79xx_pci.c	2004-10-12 13:37:14 -04:00
@@ -51,6 +51,8 @@
  #include <dev/aic7xxx/aic79xx_inline.h>
  #endif

+#include "aic79xx_pci.h"
+
  static __inline uint64_t
  ahd_compose_id(u_int device, u_int vendor, u_int subdevice, u_int subvendor)
  {
@@ -64,30 +66,6 @@
  	return (id);
  }

-#define ID_ALL_MASK			0xFFFFFFFFFFFFFFFFull
-#define ID_ALL_IROC_MASK		0xFF7FFFFFFFFFFFFFull
-#define ID_DEV_VENDOR_MASK		0xFFFFFFFF00000000ull
-#define ID_9005_GENERIC_MASK		0xFFF0FFFF00000000ull
-#define ID_9005_GENERIC_IROC_MASK	0xFF70FFFF00000000ull
-
-#define ID_AIC7901			0x800F9005FFFF9005ull
-#define ID_AHA_29320A			0x8000900500609005ull
-#define ID_AHA_29320ALP			0x8017900500449005ull
-
-#define ID_AIC7901A			0x801E9005FFFF9005ull
-#define ID_AHA_29320			0x8012900500429005ull
-#define ID_AHA_29320B			0x8013900500439005ull
-#define ID_AHA_29320LP			0x8014900500449005ull
-
-#define ID_AIC7902			0x801F9005FFFF9005ull
-#define ID_AIC7902_B			0x801D9005FFFF9005ull
-#define ID_AHA_39320			0x8010900500409005ull
-#define ID_AHA_39320_B			0x8015900500409005ull
-#define ID_AHA_39320A			0x8016900500409005ull
-#define ID_AHA_39320D			0x8011900500419005ull
-#define ID_AHA_39320D_B			0x801C900500419005ull
-#define ID_AHA_39320D_HP		0x8011900500AC0E11ull
-#define ID_AHA_39320D_B_HP		0x801C900500AC0E11ull
  #define ID_AIC7902_PCI_REV_A4		0x3
  #define ID_AIC7902_PCI_REV_B0		0x10
  #define SUBID_HP			0x0E11
diff -Nru a/drivers/scsi/aic7xxx/aic79xx_pci.h b/drivers/scsi/aic7xxx/aic79xx_pci.h
--- /dev/null	Wed Dec 31 16:00:00 196900
+++ b/drivers/scsi/aic7xxx/aic79xx_pci.h	2004-10-12 13:37:14 -04:00
@@ -0,0 +1,70 @@
+/*
+ * Adaptec AIC79xx device driver for Linux.
+ *
+ * Copyright (c) 2000-2001 Adaptec Inc.
+ * All rights reserved.
+ *
+ * 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,
+ *    without modification.
+ * 2. Redistributions in binary form must reproduce at minimum a disclaimer
+ *    substantially similar to the "NO WARRANTY" disclaimer below
+ *    ("Disclaimer") and any redistribution must be conditioned upon
+ *    including a substantially similar Disclaimer requirement for further
+ *    binary redistribution.
+ * 3. Neither the names of the above-listed copyright holders nor the names
+ *    of any contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * Alternatively, this software may be distributed under the terms of the
+ * GNU General Public License ("GPL") version 2 as published by the Free
+ * Software Foundation.
+ *
+ * NO WARRANTY
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDERS OR CONTRIBUTORS BE LIABLE FOR 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 DAMAGES.
+ *
+ * $Id$
+ *
+ */
+#ifndef _AIC79XX_PCI_H_
+#define _AIC79XX_PCI_H_
+
+#define ID_ALL_MASK			0xFFFFFFFFFFFFFFFFull
+#define ID_ALL_IROC_MASK		0xFF7FFFFFFFFFFFFFull
+#define ID_DEV_VENDOR_MASK		0xFFFFFFFF00000000ull
+#define ID_9005_GENERIC_MASK		0xFFF0FFFF00000000ull
+#define ID_9005_GENERIC_IROC_MASK	0xFF70FFFF00000000ull
+
+#define ID_AIC7901			0x800F9005FFFF9005ull
+#define ID_AHA_29320A			0x8000900500609005ull
+#define ID_AHA_29320ALP			0x8017900500449005ull
+
+#define ID_AIC7901A			0x801E9005FFFF9005ull
+#define ID_AHA_29320			0x8012900500429005ull
+#define ID_AHA_29320B			0x8013900500439005ull
+#define ID_AHA_29320LP			0x8014900500449005ull
+
+#define ID_AIC7902			0x801F9005FFFF9005ull
+#define ID_AIC7902_B			0x801D9005FFFF9005ull
+#define ID_AHA_39320			0x8010900500409005ull
+#define ID_AHA_39320_B			0x8015900500409005ull
+#define ID_AHA_39320A			0x8016900500409005ull
+#define ID_AHA_39320D			0x8011900500419005ull
+#define ID_AHA_39320D_B			0x801C900500419005ull
+#define ID_AHA_39320D_HP		0x8011900500AC0E11ull
+#define ID_AHA_39320D_B_HP		0x801C900500AC0E11ull
+
+#endif /* _AIC79XX_PCI_H_ */
diff -Nru a/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c b/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c
--- a/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c	2004-10-12 13:37:14 -04:00
+++ b/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c	2004-10-12 13:37:14 -04:00
@@ -58,29 +58,27 @@
  #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0)
  static void	ahc_linux_pci_dev_remove(struct pci_dev *pdev);

+/* Define the macro locally since it's different for different class of chips.
+*/
+#define ID(x)	ID_C(x, PCI_CLASS_STORAGE_SCSI)
+
  static struct pci_device_id ahc_linux_pci_id_table[] = {
-#define LINUXID(x,s) (unsigned)((((x) >> s) & 0xffff) ?: PCI_ANY_ID)
-#define ID(x) \
-	{ \
-		LINUXID(x,32), LINUXID(x,48), LINUXID(x,0), LINUXID(x,16), \
-		PCI_CLASS_STORAGE_SCSI << 8, 0xFFFF00, 0 \
-	}
-#define ID4(x,y) \
-	ID(x | ((y+0)<<48)), ID(x | ((y+1)<<48)), ID(x | ((y+2)<<48)), \
-	ID(x | ((y+3)<<48))
-#define ID16(x) ID4(x,0ULL), ID4(x,4ULL), ID4(x,8ULL), ID4(x,12ULL)
+	/* aic7850 based controllers */
  	ID(ID_AHA_2902_04_10_15_20C_30C),
+	/* aic7860 based controllers */
  	ID(ID_AHA_2930CU),
  	ID(ID_AHA_1480A & ID_DEV_VENDOR_MASK),
  	ID(ID_AHA_2940AU_0 & ID_DEV_VENDOR_MASK),
  	ID(ID_AHA_2940AU_CN & ID_DEV_VENDOR_MASK),
  	ID(ID_AHA_2930C_VAR & ID_DEV_VENDOR_MASK),
+	/* aic7870 based controllers */
  	ID(ID_AHA_2940),
  	ID(ID_AHA_3940),
  	ID(ID_AHA_398X),
  	ID(ID_AHA_2944),
  	ID(ID_AHA_3944),
  	ID(ID_AHA_4944),
+	/* aic7880 based controllers */
  	ID(ID_AHA_2940U & ID_DEV_VENDOR_MASK),
  	ID(ID_AHA_3940U & ID_DEV_VENDOR_MASK),
  	ID(ID_AHA_2944U & ID_DEV_VENDOR_MASK),
@@ -90,13 +88,15 @@
  	ID(ID_AHA_2930U & ID_DEV_VENDOR_MASK),
  	ID(ID_AHA_2940U_PRO & ID_DEV_VENDOR_MASK),
  	ID(ID_AHA_2940U_CN & ID_DEV_VENDOR_MASK),
+	/* aic7890 based controllers */
  	ID(ID_AHA_2930U2),
  	ID(ID_AHA_2940U2B),
  	ID(ID_AHA_2940U2_OEM),
  	ID(ID_AHA_2940U2),
  	ID(ID_AHA_2950U2B),
-	ID(ID_AIC7890_ARO),
+	ID16(ID_AIC7890_ARO & ID_AIC7895_ARO_MASK),
  	ID(ID_AAA_131U2),
+	/* aic7890 based controllers */
  	ID(ID_AHA_29160),
  	ID(ID_AHA_29160_CPQ),
  	ID(ID_AHA_29160N),
@@ -104,6 +104,7 @@
  	ID(ID_AHA_29160B),
  	ID(ID_AHA_19160B),
  	ID(ID_AIC7892_ARO),
+	/* aic7892 based controllers */
  	ID(ID_AHA_2940U_DUAL),
  	ID(ID_AHA_3940AU),
  	ID(ID_AHA_3944AU),
@@ -113,20 +114,22 @@
  	ID(ID_AHA_3950U2D_0),
  	ID(ID_AHA_3950U2D_1),
  	ID(ID_AIC7896_ARO),
+	/* aic7899 based controllers */
  	ID(ID_AHA_3960D),
  	ID(ID_AHA_3960D_CPQ),
  	ID(ID_AIC7899_ARO),
+	/* Generic chip probes for devices we don't know exactly. */
  	ID(ID_AIC7850 & ID_DEV_VENDOR_MASK),
  	ID(ID_AIC7855 & ID_DEV_VENDOR_MASK),
  	ID(ID_AIC7859 & ID_DEV_VENDOR_MASK),
  	ID(ID_AIC7860 & ID_DEV_VENDOR_MASK),
  	ID(ID_AIC7870 & ID_DEV_VENDOR_MASK),
  	ID(ID_AIC7880 & ID_DEV_VENDOR_MASK),
-	ID16(ID_AIC7890),
-	ID16(ID_AIC7892),
+ 	ID16(ID_AIC7890 & ID_9005_GENERIC_MASK),
+ 	ID16(ID_AIC7892 & ID_9005_GENERIC_MASK),
  	ID(ID_AIC7895 & ID_DEV_VENDOR_MASK),
-	ID(ID_AIC7896),
-	ID(ID_AIC7899),
+	ID16(ID_AIC7896 & ID_9005_GENERIC_MASK),
+	ID16(ID_AIC7899 & ID_9005_GENERIC_MASK),
  	ID(ID_AIC7810 & ID_DEV_VENDOR_MASK),
  	ID(ID_AIC7815 & ID_DEV_VENDOR_MASK),
  	{ 0 }
diff -Nru a/drivers/scsi/aic7xxx/aic7xxx_pci.c b/drivers/scsi/aic7xxx/aic7xxx_pci.c
--- a/drivers/scsi/aic7xxx/aic7xxx_pci.c	2004-10-12 13:37:14 -04:00
+++ b/drivers/scsi/aic7xxx/aic7xxx_pci.c	2004-10-12 13:37:14 -04:00
@@ -56,6 +56,19 @@

  #include "aic7xxx_pci.h"

+static __inline uint64_t
+ahc_compose_id(u_int device, u_int vendor, u_int subdevice, u_int subvendor)
+{
+	uint64_t id;
+
+	id = subvendor
+	   | (subdevice << 16)
+	   | ((uint64_t)vendor << 32)
+	   | ((uint64_t)device << 48);
+
+	return (id);
+}
+
  #define AHC_PCI_IOADDR	PCIR_MAPS	/* I/O Address */
  #define AHC_PCI_MEMADDR	(PCIR_MAPS + 4)	/* Mem I/O Address */

diff -Nru a/drivers/scsi/aic7xxx/aic7xxx_pci.h b/drivers/scsi/aic7xxx/aic7xxx_pci.h
--- a/drivers/scsi/aic7xxx/aic7xxx_pci.h	2004-10-12 13:37:14 -04:00
+++ b/drivers/scsi/aic7xxx/aic7xxx_pci.h	2004-10-12 13:37:14 -04:00
@@ -1,16 +1,46 @@
-
-static __inline uint64_t
-ahc_compose_id(u_int device, u_int vendor, u_int subdevice, u_int subvendor)
-{
-	uint64_t id;
-
-	id = subvendor
-	   | (subdevice << 16)
-	   | ((uint64_t)vendor << 32)
-	   | ((uint64_t)device << 48);
-
-	return (id);
-}
+/*
+ * Adaptec AIC7xxx device driver for Linux.
+ *
+ * Copyright (c) 2000-2001 Adaptec Inc.
+ * All rights reserved.
+ *
+ * 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,
+ *    without modification.
+ * 2. Redistributions in binary form must reproduce at minimum a disclaimer
+ *    substantially similar to the "NO WARRANTY" disclaimer below
+ *    ("Disclaimer") and any redistribution must be conditioned upon
+ *    including a substantially similar Disclaimer requirement for further
+ *    binary redistribution.
+ * 3. Neither the names of the above-listed copyright holders nor the names
+ *    of any contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * Alternatively, this software may be distributed under the terms of the
+ * GNU General Public License ("GPL") version 2 as published by the Free
+ * Software Foundation.
+ *
+ * NO WARRANTY
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDERS OR CONTRIBUTORS BE LIABLE FOR 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 DAMAGES.
+ *
+ * $Id$
+ *
+ */
+#ifndef _AIC7XXX_PCI_H_
+#define _AIC7XXX_PCI_H_

  #define ID_ALL_MASK			0xFFFFFFFFFFFFFFFFull
  #define ID_DEV_VENDOR_MASK		0xFFFFFFFF00000000ull
@@ -90,3 +120,5 @@

  #define ID_AIC7810			0x1078900400000000ull
  #define ID_AIC7815			0x7815900400000000ull
+
+#endif /* _AIC7XXX_PCI_H_ */
diff -Nru a/drivers/scsi/aic7xxx/aiclib.h b/drivers/scsi/aic7xxx/aiclib.h
--- a/drivers/scsi/aic7xxx/aiclib.h	2004-10-12 13:37:14 -04:00
+++ b/drivers/scsi/aic7xxx/aiclib.h	2004-10-12 13:37:14 -04:00
@@ -1043,4 +1043,43 @@
  	return (rv);
  }

+/* Macros for generating the elements of the PCI ID tables. */
+
+#define GETID(v, s) (unsigned)(((v) >> (s)) & 0xFFFF ?: PCI_ANY_ID)
+
+#define ID_C(x, c)						\
+{								\
+	GETID(x,32), GETID(x,48), GETID(x,0), GETID(x,16),	\
+	(c) << 8, 0xFFFF00, 0					\
+}
+
+#define ID2C(x)                          \
+	ID_C(x, PCI_CLASS_STORAGE_SCSI), \
+	ID_C(x, PCI_CLASS_STORAGE_RAID)
+
+#define IDIROC(x)  ((x) | ~ID_ALL_IROC_MASK)
+
+/* Generate IDs for all 16 possibilites.
+ * The argument has already masked out
+ * the 4 least significant bits of the device id.
+ * (e.g., mask: ID_9005_GENERIC_MASK).
+ */
+#define ID16(x)                          \
+	ID(x),                           \
+	ID((x) | 0x0001000000000000ull), \
+	ID((x) | 0x0002000000000000ull), \
+	ID((x) | 0x0003000000000000ull), \
+	ID((x) | 0x0004000000000000ull), \
+	ID((x) | 0x0005000000000000ull), \
+	ID((x) | 0x0006000000000000ull), \
+	ID((x) | 0x0007000000000000ull), \
+	ID((x) | 0x0008000000000000ull), \
+	ID((x) | 0x0009000000000000ull), \
+	ID((x) | 0x000A000000000000ull), \
+	ID((x) | 0x000B000000000000ull), \
+	ID((x) | 0x000C000000000000ull), \
+	ID((x) | 0x000D000000000000ull), \
+	ID((x) | 0x000E000000000000ull), \
+	ID((x) | 0x000F000000000000ull)
+
  #endif /*_AICLIB_H */


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2004-10-12 21:00 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-10-12 17:35 [PATCH] Adding PCI ID tables to aic7xxx and aic79xxx Luben Tuikov
2004-10-12 18:14 ` Christoph Hellwig
2004-10-12 18:27 ` Jeff Garzik
2004-10-12 19:52   ` Luben Tuikov
2004-10-12 20:50 ` James Bottomley
2004-10-12 21:00   ` Luben Tuikov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).