ide: remove ->supports_dsc_overlap field from ide_driver_t

* Use drive->media and drive->scsi to check if ->dsc_overlap
  can be set by HDIO_SET_NICE ioctl in generic_ide_ioctl().

* Remove unused ->supports_dsc_overlap field from ide_driver_t.

There should be no functional changes caused by this patch.
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
parent ebc6be52
...@@ -1969,7 +1969,6 @@ static ide_driver_t ide_cdrom_driver = { ...@@ -1969,7 +1969,6 @@ static ide_driver_t ide_cdrom_driver = {
.remove = ide_cd_remove, .remove = ide_cd_remove,
.version = IDECD_VERSION, .version = IDECD_VERSION,
.media = ide_cdrom, .media = ide_cdrom,
.supports_dsc_overlap = 1,
.do_request = ide_cd_do_request, .do_request = ide_cd_do_request,
.end_request = ide_end_request, .end_request = ide_end_request,
.error = __ide_error, .error = __ide_error,
......
...@@ -980,7 +980,6 @@ static ide_driver_t idedisk_driver = { ...@@ -980,7 +980,6 @@ static ide_driver_t idedisk_driver = {
.shutdown = ide_device_shutdown, .shutdown = ide_device_shutdown,
.version = IDEDISK_VERSION, .version = IDEDISK_VERSION,
.media = ide_disk, .media = ide_disk,
.supports_dsc_overlap = 0,
.do_request = ide_do_rw_disk, .do_request = ide_do_rw_disk,
.end_request = ide_end_request, .end_request = ide_end_request,
.error = __ide_error, .error = __ide_error,
......
...@@ -1130,7 +1130,6 @@ static ide_driver_t idefloppy_driver = { ...@@ -1130,7 +1130,6 @@ static ide_driver_t idefloppy_driver = {
.remove = ide_floppy_remove, .remove = ide_floppy_remove,
.version = IDEFLOPPY_VERSION, .version = IDEFLOPPY_VERSION,
.media = ide_floppy, .media = ide_floppy,
.supports_dsc_overlap = 0,
.do_request = idefloppy_do_request, .do_request = idefloppy_do_request,
.end_request = idefloppy_end_request, .end_request = idefloppy_end_request,
.error = __ide_error, .error = __ide_error,
......
...@@ -2607,7 +2607,6 @@ static ide_driver_t idetape_driver = { ...@@ -2607,7 +2607,6 @@ static ide_driver_t idetape_driver = {
.remove = ide_tape_remove, .remove = ide_tape_remove,
.version = IDETAPE_VERSION, .version = IDETAPE_VERSION,
.media = ide_tape, .media = ide_tape,
.supports_dsc_overlap = 1,
.do_request = idetape_do_request, .do_request = idetape_do_request,
.end_request = idetape_end_request, .end_request = idetape_end_request,
.error = __ide_error, .error = __ide_error,
......
...@@ -562,7 +562,6 @@ int generic_ide_ioctl(ide_drive_t *drive, struct file *file, struct block_device ...@@ -562,7 +562,6 @@ int generic_ide_ioctl(ide_drive_t *drive, struct file *file, struct block_device
unsigned int cmd, unsigned long arg) unsigned int cmd, unsigned long arg)
{ {
unsigned long flags; unsigned long flags;
ide_driver_t *drv;
int err = 0, (*getfunc)(ide_drive_t *), (*setfunc)(ide_drive_t *, int); int err = 0, (*getfunc)(ide_drive_t *), (*setfunc)(ide_drive_t *, int);
switch (cmd) { switch (cmd) {
...@@ -612,12 +611,12 @@ int generic_ide_ioctl(ide_drive_t *drive, struct file *file, struct block_device ...@@ -612,12 +611,12 @@ int generic_ide_ioctl(ide_drive_t *drive, struct file *file, struct block_device
if (!capable(CAP_SYS_ADMIN)) return -EACCES; if (!capable(CAP_SYS_ADMIN)) return -EACCES;
if (arg != (arg & ((1 << IDE_NICE_DSC_OVERLAP) | (1 << IDE_NICE_1)))) if (arg != (arg & ((1 << IDE_NICE_DSC_OVERLAP) | (1 << IDE_NICE_1))))
return -EPERM; return -EPERM;
drive->dsc_overlap = (arg >> IDE_NICE_DSC_OVERLAP) & 1; if (((arg >> IDE_NICE_DSC_OVERLAP) & 1) &&
drv = *(ide_driver_t **)bdev->bd_disk->private_data; (drive->media == ide_disk ||
if (drive->dsc_overlap && !drv->supports_dsc_overlap) { drive->media == ide_floppy ||
drive->dsc_overlap = 0; drive->scsi))
return -EPERM; return -EPERM;
} drive->dsc_overlap = (arg >> IDE_NICE_DSC_OVERLAP) & 1;
drive->nice1 = (arg >> IDE_NICE_1) & 1; drive->nice1 = (arg >> IDE_NICE_1) & 1;
return 0; return 0;
case HDIO_DRIVE_RESET: case HDIO_DRIVE_RESET:
......
...@@ -522,7 +522,6 @@ static ide_driver_t idescsi_driver = { ...@@ -522,7 +522,6 @@ static ide_driver_t idescsi_driver = {
.remove = ide_scsi_remove, .remove = ide_scsi_remove,
.version = IDESCSI_VERSION, .version = IDESCSI_VERSION,
.media = ide_scsi, .media = ide_scsi,
.supports_dsc_overlap = 0,
.do_request = idescsi_do_request, .do_request = idescsi_do_request,
.end_request = idescsi_end_request, .end_request = idescsi_end_request,
.error = idescsi_atapi_error, .error = idescsi_atapi_error,
......
...@@ -912,7 +912,6 @@ enum { ...@@ -912,7 +912,6 @@ enum {
struct ide_driver_s { struct ide_driver_s {
const char *version; const char *version;
u8 media; u8 media;
unsigned supports_dsc_overlap : 1;
ide_startstop_t (*do_request)(ide_drive_t *, struct request *, sector_t); ide_startstop_t (*do_request)(ide_drive_t *, struct request *, sector_t);
int (*end_request)(ide_drive_t *, int, int); int (*end_request)(ide_drive_t *, int, int);
ide_startstop_t (*error)(ide_drive_t *, struct request *rq, u8, u8); ide_startstop_t (*error)(ide_drive_t *, struct request *rq, u8, u8);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment