X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=drivers%2Fscsi%2Fsr_vendor.c;h=4eb3da996b369518edb0a1efa924f5c97657a614;hb=refs%2Fheads%2Fvserver;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..4eb3da996 100644 --- a/drivers/scsi/sr_vendor.c +++ b/drivers/scsi/sr_vendor.c @@ -34,17 +34,18 @@ * HP 6020 writers now supported. */ -#include +#include #include #include #include - #include -#include "scsi.h" -#include "hosts.h" + +#include +#include +#include +#include #include -#include #include "sr.h" #if 0 @@ -66,8 +67,8 @@ void sr_vendor_init(Scsi_CD *cd) #ifndef CONFIG_BLK_DEV_SR_VENDOR cd->vendor = VENDOR_SCSI3; #else - char *vendor = cd->device->vendor; - char *model = cd->device->model; + const char *vendor = cd->device->vendor; + const char *model = cd->device->model; /* default */ cd->vendor = VENDOR_SCSI3; @@ -107,7 +108,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; @@ -116,14 +117,14 @@ int sr_set_blocklength(Scsi_CD *cd, int blocklength) density = (blocklength > 2048) ? 0x81 : 0x83; #endif - buffer = (unsigned char *) kmalloc(512, GFP_KERNEL | GFP_DMA); + buffer = kmalloc(512, GFP_KERNEL | GFP_DMA); if (!buffer) return -ENOMEM; #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 +136,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,13 +158,13 @@ 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) return 0; - buffer = (unsigned char *) kmalloc(512, GFP_KERNEL | GFP_DMA); + buffer = kmalloc(512, GFP_KERNEL | GFP_DMA); if (!buffer) return -ENOMEM; @@ -171,7 +172,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 +183,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 +211,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 +240,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 +269,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 +287,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) {