]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/linux/mod_devicetable.h
Merge git://oss.sgi.com:8090/oss/git/xfs-2.6
[linux-2.6-omap-h63xx.git] / include / linux / mod_devicetable.h
index e9651cd8310c7b7cb41a45ab6ec1d28222bb8ab3..47da39ba3f0377f378556150daed3d5530a49849 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Device tables which are exported to userspace via
- * scripts/table2alias.c.  You must keep that file in sync with this
+ * scripts/mod/file2alias.c.  You must keep that file in sync with this
  * header.
  */
 
@@ -33,7 +33,8 @@ struct ieee1394_device_id {
        __u32 model_id;
        __u32 specifier_id;
        __u32 version;
-       kernel_ulong_t driver_data;
+       kernel_ulong_t driver_data
+               __attribute__((aligned(sizeof(kernel_ulong_t))));
 };
 
 
@@ -174,6 +175,26 @@ struct serio_device_id {
        __u8 proto;
 };
 
+/*
+ * Struct used for matching a device
+ */
+struct of_device_id
+{
+       char    name[32];
+       char    type[32];
+       char    compatible[128];
+#if __KERNEL__
+       void    *data;
+#else
+       kernel_ulong_t data;
+#endif
+};
+
+/* VIO */
+struct vio_device_id {
+       char type[32];
+       char compat[32];
+};
 
 /* PCMCIA */
 
@@ -191,11 +212,23 @@ struct pcmcia_device_id {
        /* for pseude multi-function devices */
        __u8            device_no;
 
-       const char *    prod_id[4];
        __u32           prod_id_hash[4];
 
+       /* not matched against in kernelspace*/
+#ifdef __KERNEL__
+       const char *    prod_id[4];
+#else
+       kernel_ulong_t  prod_id[4]
+               __attribute__((aligned(sizeof(kernel_ulong_t))));
+#endif
+
        /* not matched against */
        kernel_ulong_t  driver_info;
+#ifdef __KERNEL__
+       char *          cisfile;
+#else
+       kernel_ulong_t  cisfile;
+#endif
 };
 
 #define PCMCIA_DEV_ID_MATCH_MANF_ID    0x0001
@@ -207,5 +240,7 @@ struct pcmcia_device_id {
 #define PCMCIA_DEV_ID_MATCH_PROD_ID3   0x0040
 #define PCMCIA_DEV_ID_MATCH_PROD_ID4   0x0080
 #define PCMCIA_DEV_ID_MATCH_DEVICE_NO  0x0100
+#define PCMCIA_DEV_ID_MATCH_FAKE_CIS   0x0200
+#define PCMCIA_DEV_ID_MATCH_ANONYMOUS  0x0400
 
 #endif /* LINUX_MOD_DEVICETABLE_H */