X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fscsi%2Fsr_vendor.c;h=78274dc91f5c74c0320702735856d90b4390968c;hb=9bf4aaab3e101692164d49b7ca357651eb691cb6;hp=6fb97529c4c6dd23bde0b946f1a01f54f3e4138c;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/drivers/scsi/sr_vendor.c b/drivers/scsi/sr_vendor.c index 6fb97529c..78274dc91 100644 --- a/drivers/scsi/sr_vendor.c +++ b/drivers/scsi/sr_vendor.c @@ -35,16 +35,18 @@ */ #include +#include #include #include #include - #include -#include "scsi.h" -#include "hosts.h" + +#include +#include +#include +#include #include -#include #include "sr.h" #if 0 @@ -107,7 +109,7 @@ void sr_vendor_init(Scsi_CD *cd) int sr_set_blocklength(Scsi_CD *cd, int blocklength) { unsigned char *buffer; /* the buffer for the ioctl */ - struct cdrom_generic_command cgc; + struct packet_command cgc; struct ccs_modesel_head *modesel; int rc, density = 0; @@ -123,7 +125,7 @@ int sr_set_blocklength(Scsi_CD *cd, int blocklength) #ifdef DEBUG printk("%s: MODE SELECT 0x%x/%d\n", cd->cdi.name, density, blocklength); #endif - memset(&cgc, 0, sizeof(struct cdrom_generic_command)); + memset(&cgc, 0, sizeof(struct packet_command)); cgc.cmd[0] = MODE_SELECT; cgc.cmd[1] = (1 << 4); cgc.cmd[4] = 12; @@ -135,7 +137,7 @@ int sr_set_blocklength(Scsi_CD *cd, int blocklength) modesel->block_length_lo = blocklength & 0xff; cgc.buffer = buffer; cgc.buflen = sizeof(*modesel); - cgc.data_direction = SCSI_DATA_WRITE; + cgc.data_direction = DMA_TO_DEVICE; cgc.timeout = VENDOR_TIMEOUT; if (0 == (rc = sr_do_ioctl(cd, &cgc))) { cd->device->sector_size = blocklength; @@ -157,7 +159,7 @@ int sr_cd_check(struct cdrom_device_info *cdi) Scsi_CD *cd = cdi->handle; unsigned long sector; unsigned char *buffer; /* the buffer for the ioctl */ - struct cdrom_generic_command cgc; + struct packet_command cgc; int rc, no_multi; if (cd->cdi.mask & CDC_MULTI_SESSION) @@ -171,7 +173,7 @@ int sr_cd_check(struct cdrom_device_info *cdi) no_multi = 0; /* flag: the drive can't handle multisession */ rc = 0; - memset(&cgc, 0, sizeof(struct cdrom_generic_command)); + memset(&cgc, 0, sizeof(struct packet_command)); switch (cd->vendor) { @@ -182,7 +184,7 @@ int sr_cd_check(struct cdrom_device_info *cdi) cgc.buffer = buffer; cgc.buflen = 12; cgc.quiet = 1; - cgc.data_direction = SCSI_DATA_READ; + cgc.data_direction = DMA_FROM_DEVICE; cgc.timeout = VENDOR_TIMEOUT; rc = sr_do_ioctl(cd, &cgc); if (rc != 0) @@ -210,7 +212,7 @@ int sr_cd_check(struct cdrom_device_info *cdi) cgc.buffer = buffer; cgc.buflen = 0x16; cgc.quiet = 1; - cgc.data_direction = SCSI_DATA_READ; + cgc.data_direction = DMA_FROM_DEVICE; cgc.timeout = VENDOR_TIMEOUT; rc = sr_do_ioctl(cd, &cgc); if (rc != 0) @@ -239,7 +241,7 @@ int sr_cd_check(struct cdrom_device_info *cdi) cgc.buffer = buffer; cgc.buflen = 4; cgc.quiet = 1; - cgc.data_direction = SCSI_DATA_READ; + cgc.data_direction = DMA_FROM_DEVICE; cgc.timeout = VENDOR_TIMEOUT; rc = sr_do_ioctl(cd, &cgc); if (rc == -EINVAL) { @@ -268,7 +270,7 @@ int sr_cd_check(struct cdrom_device_info *cdi) cgc.buffer = buffer; cgc.buflen = 0x04; cgc.quiet = 1; - cgc.data_direction = SCSI_DATA_READ; + cgc.data_direction = DMA_FROM_DEVICE; cgc.timeout = VENDOR_TIMEOUT; rc = sr_do_ioctl(cd, &cgc); if (rc != 0) { @@ -286,7 +288,7 @@ int sr_cd_check(struct cdrom_device_info *cdi) cgc.buffer = buffer; cgc.buflen = 12; cgc.quiet = 1; - cgc.data_direction = SCSI_DATA_READ; + cgc.data_direction = DMA_FROM_DEVICE; cgc.timeout = VENDOR_TIMEOUT; rc = sr_do_ioctl(cd, &cgc); if (rc != 0) {