* EF: compute checksum (?)
*/
+#include <linux/sched.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 "sddr09.h"
-#include <linux/version.h>
-#include <linux/sched.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)
/*
* Transport for the Sandisk SDDR-09
*/
-int sddr09_transport(Scsi_Cmnd *srb, struct us_data *us)
+int sddr09_transport(struct scsi_cmnd *srb, struct us_data *us)
{
static unsigned char sensekey = 0, sensecode = 0;
static unsigned char havefakesense = 0;
capacity = (info->lbact << info->blockshift) - 1;
- ((u32 *) ptr)[0] = cpu_to_be32(capacity);
+ ((__be32 *) ptr)[0] = cpu_to_be32(capacity);
// Report page size
- ((u32 *) ptr)[1] = cpu_to_be32(info->pagesize);
+ ((__be32 *) ptr)[1] = cpu_to_be32(info->pagesize);
usb_stor_set_xfer_buf(ptr, 8, srb);
return USB_STOR_TRANSPORT_GOOD;
"mode page 0x%x\n", modepage);
memcpy(ptr, mode_page_01, sizeof(mode_page_01));
- ((u16*)ptr)[0] = cpu_to_be16(sizeof(mode_page_01) - 2);
+ ((__be16*)ptr)[0] = cpu_to_be16(sizeof(mode_page_01) - 2);
ptr[3] = (info->flags & SDDR09_WP) ? 0x80 : 0;
usb_stor_set_xfer_buf(ptr, sizeof(mode_page_01), srb);
return USB_STOR_TRANSPORT_GOOD;
if (srb->request_bufflen == 0)
return USB_STOR_TRANSPORT_GOOD;
- if (srb->sc_data_direction == SCSI_DATA_WRITE ||
- srb->sc_data_direction == SCSI_DATA_READ) {
- unsigned int pipe = (srb->sc_data_direction == SCSI_DATA_WRITE)
+ if (srb->sc_data_direction == DMA_TO_DEVICE ||
+ srb->sc_data_direction == DMA_FROM_DEVICE) {
+ unsigned int pipe = (srb->sc_data_direction == DMA_TO_DEVICE)
? us->send_bulk_pipe : us->recv_bulk_pipe;
US_DEBUGP("SDDR09: %s %d bytes\n",
- (srb->sc_data_direction == SCSI_DATA_WRITE) ?
+ (srb->sc_data_direction == DMA_TO_DEVICE) ?
"sending" : "receiving",
srb->request_bufflen);