*/
#include <linux/config.h>
+#include <linux/hdreg.h>
+
+#include <scsi/scsi.h>
+#include <scsi/scsi_cmnd.h>
+
#include "transport.h"
#include "protocol.h"
#include "usb.h"
#include "debug.h"
#include "freecom.h"
-#include "linux/hdreg.h"
#ifdef CONFIG_USB_STORAGE_DEBUG
static void pdump (void *, int);
struct freecom_xfer_wrap {
u8 Type; /* Command type. */
u8 Timeout; /* Timeout in seconds. */
- u32 Count; /* Number of bytes to transfer. */
+ __le32 Count; /* Number of bytes to transfer. */
u8 Pad[58];
} __attribute__ ((packed));
struct freecom_ide_out {
u8 Type; /* Type + IDE register. */
u8 Pad;
- u16 Value; /* Value to write. */
+ __le16 Value; /* Value to write. */
u8 Pad2[60];
};
struct freecom_status {
u8 Status;
u8 Reason;
- u16 Count;
+ __le16 Count;
u8 Pad[60];
};
#define FCM_STATUS_PACKET_LENGTH 4
static int
-freecom_readdata (Scsi_Cmnd *srb, struct us_data *us,
+freecom_readdata (struct scsi_cmnd *srb, struct us_data *us,
unsigned int ipipe, unsigned int opipe, int count)
{
struct freecom_xfer_wrap *fxfr =
}
static int
-freecom_writedata (Scsi_Cmnd *srb, struct us_data *us,
+freecom_writedata (struct scsi_cmnd *srb, struct us_data *us,
int unsigned ipipe, unsigned int opipe, int count)
{
struct freecom_xfer_wrap *fxfr =
* Transport for the Freecom USB/IDE adaptor.
*
*/
-int freecom_transport(Scsi_Cmnd *srb, struct us_data *us)
+int freecom_transport(struct scsi_cmnd *srb, struct us_data *us)
{
struct freecom_cb_wrap *fcb;
struct freecom_status *fst;
* move in. */
switch (us->srb->sc_data_direction) {
- case SCSI_DATA_READ:
+ case DMA_FROM_DEVICE:
/* catch bogus "read 0 length" case */
if (!length)
break;
US_DEBUGP("Transfer happy\n");
break;
- case SCSI_DATA_WRITE:
+ case DMA_TO_DEVICE:
/* catch bogus "write 0 length" case */
if (!length)
break;
break;
- case SCSI_DATA_NONE:
+ case DMA_NONE:
/* Easy, do nothing. */
break;