vserver 1.9.3
[linux-2.6.git] / drivers / usb / storage / sddr55.c
index eb96153..10270f4 100644 (file)
  * 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
+#include <linux/jiffies.h>
+#include <linux/errno.h>
+#include <linux/slab.h>
+
+#include <scsi/scsi.h>
+#include <scsi/scsi_cmnd.h>
+
 #include "transport.h"
 #include "protocol.h"
 #include "usb.h"
 #include "debug.h"
 #include "sddr55.h"
 
-#include <linux/jiffies.h>
-#include <linux/errno.h>
-#include <linux/slab.h>
 
 #define short_pack(lsb,msb) ( ((u16)(lsb)) | ( ((u16)(msb))<<8 ) )
 #define LSB_of(s) ((s)&0xFF)
@@ -74,7 +78,7 @@ static int
 sddr55_bulk_transport(struct us_data *us, int direction,
                      unsigned char *data, unsigned int len) {
        struct sddr55_card_info *info = (struct sddr55_card_info *)us->extra;
-       unsigned int pipe = (direction == SCSI_DATA_READ) ?
+       unsigned int pipe = (direction == DMA_FROM_DEVICE) ?
                        us->recv_bulk_pipe : us->send_bulk_pipe;
 
        if (!len)
@@ -99,7 +103,7 @@ static int sddr55_status(struct us_data *us)
        command[5] = 0xB0;
        command[7] = 0x80;
        result = sddr55_bulk_transport(us,
-               SCSI_DATA_WRITE, command, 8);
+               DMA_TO_DEVICE, command, 8);
 
        US_DEBUGP("Result for send_command in status %d\n",
                result);
@@ -110,7 +114,7 @@ static int sddr55_status(struct us_data *us)
        }
 
        result = sddr55_bulk_transport(us,
-               SCSI_DATA_READ, status, 4);
+               DMA_FROM_DEVICE, status,        4);
 
        /* expect to get short transfer if no card fitted */
        if (result == USB_STOR_XFER_SHORT || result == USB_STOR_XFER_STALLED) {
@@ -139,7 +143,7 @@ static int sddr55_status(struct us_data *us)
 
        /* now read status */
        result = sddr55_bulk_transport(us,
-               SCSI_DATA_READ, status, 2);
+               DMA_FROM_DEVICE, status,        2);
 
        if (result != USB_STOR_XFER_GOOD) {
                set_sense_info (4, 0, 0);       /* hardware error */
@@ -215,7 +219,7 @@ static int sddr55_read_data(struct us_data *us,
 
                        /* send command */
                        result = sddr55_bulk_transport(us,
-                               SCSI_DATA_WRITE, command, 8);
+                               DMA_TO_DEVICE, command, 8);
 
                        US_DEBUGP("Result for send_command in read_data %d\n",
                                result);
@@ -227,7 +231,7 @@ static int sddr55_read_data(struct us_data *us,
 
                        /* read data */
                        result = sddr55_bulk_transport(us,
-                               SCSI_DATA_READ, buffer, len);
+                               DMA_FROM_DEVICE, buffer, len);
 
                        if (result != USB_STOR_XFER_GOOD) {
                                result = USB_STOR_TRANSPORT_ERROR;
@@ -236,7 +240,7 @@ static int sddr55_read_data(struct us_data *us,
 
                        /* now read status */
                        result = sddr55_bulk_transport(us,
-                               SCSI_DATA_READ, status, 2);
+                               DMA_FROM_DEVICE, status, 2);
 
                        if (result != USB_STOR_XFER_GOOD) {
                                result = USB_STOR_TRANSPORT_ERROR;
@@ -390,7 +394,7 @@ static int sddr55_write_data(struct us_data *us,
 
                /* send command */
                result = sddr55_bulk_transport(us,
-                       SCSI_DATA_WRITE, command, 8);
+                       DMA_TO_DEVICE, command, 8);
 
                if (result != USB_STOR_XFER_GOOD) {
                        US_DEBUGP("Result for send_command in write_data %d\n",
@@ -404,7 +408,7 @@ static int sddr55_write_data(struct us_data *us,
 
                /* send the data */
                result = sddr55_bulk_transport(us,
-                       SCSI_DATA_WRITE, buffer, len);
+                       DMA_TO_DEVICE, buffer, len);
 
                if (result != USB_STOR_XFER_GOOD) {
                        US_DEBUGP("Result for send_data in write_data %d\n",
@@ -417,7 +421,7 @@ static int sddr55_write_data(struct us_data *us,
                }
 
                /* now read status */
-               result = sddr55_bulk_transport(us, SCSI_DATA_READ, status, 6);
+               result = sddr55_bulk_transport(us, DMA_FROM_DEVICE, status, 6);
 
                if (result != USB_STOR_XFER_GOOD) {
                        US_DEBUGP("Result for get_status in write_data %d\n",
@@ -483,7 +487,7 @@ static int sddr55_read_deviceID(struct us_data *us,
        memset(command, 0, 8);
        command[5] = 0xB0;
        command[7] = 0x84;
-       result = sddr55_bulk_transport(us, SCSI_DATA_WRITE, command, 8);
+       result = sddr55_bulk_transport(us, DMA_TO_DEVICE, command, 8);
 
        US_DEBUGP("Result of send_control for device ID is %d\n",
                result);
@@ -492,7 +496,7 @@ static int sddr55_read_deviceID(struct us_data *us,
                return USB_STOR_TRANSPORT_ERROR;
 
        result = sddr55_bulk_transport(us,
-               SCSI_DATA_READ, content, 4);
+               DMA_FROM_DEVICE, content, 4);
 
        if (result != USB_STOR_XFER_GOOD)
                return USB_STOR_TRANSPORT_ERROR;
@@ -502,7 +506,7 @@ static int sddr55_read_deviceID(struct us_data *us,
 
        if (content[0] != 0xff) {
                result = sddr55_bulk_transport(us,
-                       SCSI_DATA_READ, content, 2);
+                       DMA_FROM_DEVICE, content, 2);
        }
 
        return USB_STOR_TRANSPORT_GOOD;
@@ -624,21 +628,21 @@ static int sddr55_read_map(struct us_data *us) {
        command[6] = numblocks * 2 / 256;
        command[7] = 0x8A;
 
-       result = sddr55_bulk_transport(us, SCSI_DATA_WRITE, command, 8);
+       result = sddr55_bulk_transport(us, DMA_TO_DEVICE, command, 8);
 
        if ( result != USB_STOR_XFER_GOOD) {
                kfree (buffer);
                return -1;
        }
 
-       result = sddr55_bulk_transport(us, SCSI_DATA_READ, buffer, numblocks * 2);
+       result = sddr55_bulk_transport(us, DMA_FROM_DEVICE, buffer, numblocks * 2);
 
        if ( result != USB_STOR_XFER_GOOD) {
                kfree (buffer);
                return -1;
        }
 
-       result = sddr55_bulk_transport(us, SCSI_DATA_READ, command, 2);
+       result = sddr55_bulk_transport(us, DMA_FROM_DEVICE, command, 2);
 
        if ( result != USB_STOR_XFER_GOOD) {
                kfree (buffer);
@@ -734,7 +738,7 @@ static void sddr55_card_info_destructor(void *extra) {
 /*
  * Transport for the Sandisk SDDR-55
  */
-int sddr55_transport(Scsi_Cmnd *srb, struct us_data *us)
+int sddr55_transport(struct scsi_cmnd *srb, struct us_data *us)
 {
        int result;
        static unsigned char inquiry_response[8] = {
@@ -834,8 +838,8 @@ int sddr55_transport(Scsi_Cmnd *srb, struct us_data *us)
                capacity /= PAGESIZE;
                capacity--;
 
-               ((u32 *) ptr)[0] = cpu_to_be32(capacity);
-               ((u32 *) ptr)[1] = cpu_to_be32(PAGESIZE);
+               ((__be32 *) ptr)[0] = cpu_to_be32(capacity);
+               ((__be32 *) ptr)[1] = cpu_to_be32(PAGESIZE);
                usb_stor_set_xfer_buf(ptr, 8, srb);
 
                sddr55_read_map(us);