linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / drivers / usb / storage / usb.h
index 21f3ddb..7259fd1 100644 (file)
@@ -49,7 +49,6 @@
 #include <linux/blkdev.h>
 #include <linux/smp_lock.h>
 #include <linux/completion.h>
-#include <linux/mutex.h>
 #include <scsi/scsi_host.h>
 
 struct us_data;
@@ -104,9 +103,9 @@ typedef void (*pm_hook)(struct us_data *, int);     /* power management hook */
 struct us_data {
        /* The device we're working with
         * It's important to note:
-        *    (o) you must hold dev_mutex to change pusb_dev
+        *    (o) you must hold dev_semaphore to change pusb_dev
         */
-       struct mutex            dev_mutex;       /* protect pusb_dev */
+       struct semaphore        dev_semaphore;   /* protect pusb_dev */
        struct usb_device       *pusb_dev;       /* this usb_device */
        struct usb_interface    *pusb_intf;      /* this interface */
        struct us_unusual_dev   *unusual_dev;    /* device-filter entry     */
@@ -160,10 +159,10 @@ struct us_data {
 };
 
 /* Convert between us_data and the corresponding Scsi_Host */
-static inline struct Scsi_Host *us_to_host(struct us_data *us) {
+static struct Scsi_Host inline *us_to_host(struct us_data *us) {
        return container_of((void *) us, struct Scsi_Host, hostdata);
 }
-static inline struct us_data *host_to_us(struct Scsi_Host *host) {
+static struct us_data inline *host_to_us(struct Scsi_Host *host) {
        return (struct us_data *) host->hostdata;
 }
 
@@ -176,4 +175,8 @@ extern void fill_inquiry_response(struct us_data *us,
 #define scsi_unlock(host)      spin_unlock_irq(host->host_lock)
 #define scsi_lock(host)                spin_lock_irq(host->host_lock)
 
+
+/* Vendor ID list for devices that require special handling */
+#define USB_VENDOR_ID_GENESYS          0x05e3  /* Genesys Logic */
+
 #endif