patch-2.4.4 linux/include/asm-ia64/sn/invent.h

Next file: linux/include/asm-ia64/sn/io.h
Previous file: linux/include/asm-ia64/sn/intr_public.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.3/linux/include/asm-ia64/sn/invent.h linux/include/asm-ia64/sn/invent.h
@@ -30,6 +30,10 @@
 #define app32_ptr_t unsigned long
 #define graph_vertex_place_t long
 #define GRAPH_VERTEX_NONE ((devfs_handle_t)-1)
+#define GRAPH_EDGE_PLACE_NONE ((graph_edge_place_t)0)
+#define GRAPH_INFO_PLACE_NONE ((graph_info_place_t)0)
+#define GRAPH_VERTEX_PLACE_NONE ((graph_vertex_place_t)0)
+
 
 typedef struct inventory_s {
 	struct	inventory_s *inv_next;	/* next inventory record in list */
@@ -105,6 +109,8 @@
 #define INV_RPS		23      /* redundant power source */
 #define INV_TPU		24	/* Tensor Processing Unit */
 #define INV_FCNODE	25	/* Helper class for SCSI classes, not in classes[] */
+#define INV_USB		26	/* Universal Serial Bus */
+#define INV_1394NODE    27      /* helper class for 1394/SPB2 classes, not in classes[] */
 
 /* types for class processor */
 #define INV_CPUBOARD	1
@@ -187,8 +193,11 @@
 #define INV_QL_12160    17      /* qlogic 12160 */
 #define INV_QL_2100	18	/* qLogic 2100 Fibrechannel */
 #define INV_QL_2200	19	/* qLogic 2200 Fibrechannel */
-#define INV_SBP2	20	/* SBP2 protocol over OHCI on 1394 */
-
+#define INV_PR_HIO_D	20	/* Prisa HIO Dual channel */
+#define INV_PR_PCI64_D	21	/* Prisa PCI-64 Dual channel */
+#define INV_QL_2200A	22	/* qLogic 2200A Fibrechannel */
+#define INV_SBP2        23      /* SBP2 protocol over OHCI on 1394 */
+#define INV_QL_2300	24	/* qLogic 2300 Fibrechannel */
 
 
 /* states for INV_SCSIDRIVE type of class disk */
@@ -215,6 +224,7 @@
 #define INV_SIDCACHE	8
 #define INV_MAIN_MB	9
 #define INV_HUBSPC      10      /* HUBSPC */
+#define INV_TIDCACHE	11
 
 /* types for class serial */
 #define INV_CDSIO	1	/* Central Data serial board */
@@ -405,6 +415,7 @@
 #define INV_NET_ISDN_PRI	8	/* PRI ISDN */
 #define INV_NET_HIPPIS		9	/* HIPPI-Serial */
 #define	INV_NET_GSN		10	/* GSN (aka HIPPI-6400) */
+#define INV_NET_MYRINET		11	/* Myricom PCI network */
 
 /* controllers for network types, unique within class network */
 #define INV_ETHER_EC	0	/* IP6 integral controller */
@@ -463,6 +474,7 @@
 #define INV_OPTICAL	7	/* optical disks (read-write) */
 #define INV_CHANGER	8	/* jukebox's for CDROMS, for example */
 #define INV_COMM	9	/* Communications device */
+#define INV_STARCTLR	12	/* Storage Array Controller */
 #define INV_RAIDCTLR	32	/* RAID ctlr actually gives type 0 */
 
 /* bit definitions for state field for class INV_SCSI */
@@ -495,6 +507,7 @@
 #define	INV_VIDEO_RACER		11	/* SpeedRacer Pro Video */
 #define	INV_VIDEO_EVO		12	/* EVO Personal Video */
 #define INV_VIDEO_XTHD		13	/* XIO XT-HDTV video */
+#define INV_VIDEO_XTDIGVID      14      /* XIO XT-HDDIGVID video */
 
 /* states for video class INV_VIDEO_EXPRESS */
 
@@ -568,10 +581,7 @@
 #define INV_7of9_PANEL          5       /* 7of9 flatpanel board and panel */
 
 /* types for class INV_IEEE1394 */
-#define INV_OHCI		0	/* Ohci IEEE1394 pci card */
-#define INV_RAWISO1394   	10	/* Raw Isochronous IEEE 1394 protocol driver */
-#define INV_RAWASYNC1394 	11	/* Raw Asynchronous IEEE 1394 protocol driver */
-#define INV_AVC1394     	12	/* Audio, Video & Control (AV/C) IEEE 1394 protocol driver */
+#define INV_OHCI	0	/* Ohci IEEE1394 pci card */
 
 /* state for class INV_IEEE1394 & type INV_OHCI */
 #define INV_IEEE1394_STATE_TI_REV_1 0
@@ -583,6 +593,51 @@
 #define	INV_TPU_EXT		0	/* External XIO Tensor Processing Unit */
 #define	INV_TPU_XIO		1	/* Internal XIO Tensor Processing Unit */
 
+/*
+ * USB Types.  The upper 8 bits contain general usb device class and are used to
+ * qualify the lower 8 bits which contain device type within a usb class.
+ * Use USB_INV_DEVCLASS and USB_INV_DEVTYPE to to decode an i_type, and
+ * USB_INV_TYPE to set it.
+ */
+
+#define USB_INV_DEVCLASS(invtype)	((invtype) >> 8)
+#define USB_INV_DEVTYPE(invtype)	((invtype) & 0xf)
+#define USB_INV_TYPE(usbclass, usbtype)	(((usbclass) << 8) | (usbtype))
+
+/*
+ * USB device classes.  These classes might not match the classes as defined
+ * by the usb spec, but where possible we will try.
+ */
+
+#define USB_INV_CLASS_RH	0x00	/* root hub (ie. controller) */
+#define USB_INV_CLASS_HID	0x03	/* human interface device */
+#define USB_INV_CLASS_HUB	0x09	/* hub device */
+
+/*
+ * USB device types within a class.  These will not match USB device types,
+ * as the usb is not consistent on how specific types are defined (sometimes
+ * they are found in the interface subclass, sometimes (as in HID devices) they
+ * are found within data generated by the device (hid report descriptors for
+ * example).
+ */
+
+/*
+ * RH types
+ */
+
+#define USB_INV_RH_OHCI		0x01	/* ohci root hub */
+
+/*
+ * HID types
+ */
+
+#define USB_INV_HID_KEYBOARD	0x01	/* kbd (HID class) */
+#define USB_INV_HID_MOUSE	0x02	/* mouse (HID class) */
+
+/*
+ * HUB types - none yet
+ */
+
 typedef struct invent_generic_s {
 	unsigned short	ig_module;
 	unsigned short	ig_slot;
@@ -618,6 +673,8 @@
 	cpu_inv_t     ic_cpu_info;
 	unsigned short	ic_cpuid;
 	unsigned short	ic_slice;
+	unsigned short  ic_cpumode;
+
 } invent_cpuinfo_t;
 
 typedef struct invent_rpsinfo {
@@ -659,9 +716,14 @@
 	inventory_t		*invplace_inv;		/* place in inv list on vertex */
 } invplace_t; /* Magic cookie placeholder in inventory list */
 
+extern invplace_t invplace_none;
+#define INVPLACE_NONE invplace_none
+
 extern void	    add_to_inventory(int, int, int, int, int);
 extern void	    replace_in_inventory(inventory_t *, int, int, int, int, int);
+extern void         start_scan_inventory(invplace_t *);
 extern inventory_t  *get_next_inventory(invplace_t *);
+extern void         end_scan_inventory(invplace_t *);
 extern inventory_t  *find_inventory(inventory_t *, int, int, int, int, int);
 extern int	    scaninvent(int (*)(inventory_t *, void *), void *);
 extern int	    get_sizeof_inventory(int);

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)