IDE: Remove unused code
Remove some code which has been made obsolete and hasn't worked properly before anyway. Part of the infrastructure may be reintroduced in a follow up patch to implement a working command aborting facility. Signed-off-by: Elias Oltmanns <eo@nebensachen.de> Cc: "Alan Cox" <alan@lxorguk.ukuu.org.uk> Cc: "Randy Dunlap" <randy.dunlap@oracle.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
committed by
Bartlomiej Zolnierkiewicz
parent
79e36a9f54
commit
3ef5eb424e
@@ -1952,7 +1952,6 @@ static ide_driver_t ide_cdrom_driver = {
|
|||||||
.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,
|
||||||
.abort = __ide_abort,
|
|
||||||
#ifdef CONFIG_IDE_PROC_FS
|
#ifdef CONFIG_IDE_PROC_FS
|
||||||
.proc = idecd_proc,
|
.proc = idecd_proc,
|
||||||
#endif
|
#endif
|
||||||
|
@@ -985,7 +985,6 @@ static ide_driver_t idedisk_driver = {
|
|||||||
.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,
|
||||||
.abort = __ide_abort,
|
|
||||||
#ifdef CONFIG_IDE_PROC_FS
|
#ifdef CONFIG_IDE_PROC_FS
|
||||||
.proc = idedisk_proc,
|
.proc = idedisk_proc,
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1129,7 +1129,6 @@ static ide_driver_t idefloppy_driver = {
|
|||||||
.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,
|
||||||
.abort = __ide_abort,
|
|
||||||
#ifdef CONFIG_IDE_PROC_FS
|
#ifdef CONFIG_IDE_PROC_FS
|
||||||
.proc = idefloppy_proc,
|
.proc = idefloppy_proc,
|
||||||
#endif
|
#endif
|
||||||
|
@@ -504,55 +504,6 @@ ide_startstop_t ide_error (ide_drive_t *drive, const char *msg, u8 stat)
|
|||||||
|
|
||||||
EXPORT_SYMBOL_GPL(ide_error);
|
EXPORT_SYMBOL_GPL(ide_error);
|
||||||
|
|
||||||
ide_startstop_t __ide_abort(ide_drive_t *drive, struct request *rq)
|
|
||||||
{
|
|
||||||
if (drive->media != ide_disk)
|
|
||||||
rq->errors |= ERROR_RESET;
|
|
||||||
|
|
||||||
ide_kill_rq(drive, rq);
|
|
||||||
|
|
||||||
return ide_stopped;
|
|
||||||
}
|
|
||||||
|
|
||||||
EXPORT_SYMBOL_GPL(__ide_abort);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ide_abort - abort pending IDE operations
|
|
||||||
* @drive: drive the error occurred on
|
|
||||||
* @msg: message to report
|
|
||||||
*
|
|
||||||
* ide_abort kills and cleans up when we are about to do a
|
|
||||||
* host initiated reset on active commands. Longer term we
|
|
||||||
* want handlers to have sensible abort handling themselves
|
|
||||||
*
|
|
||||||
* This differs fundamentally from ide_error because in
|
|
||||||
* this case the command is doing just fine when we
|
|
||||||
* blow it away.
|
|
||||||
*/
|
|
||||||
|
|
||||||
ide_startstop_t ide_abort(ide_drive_t *drive, const char *msg)
|
|
||||||
{
|
|
||||||
struct request *rq;
|
|
||||||
|
|
||||||
if (drive == NULL || (rq = HWGROUP(drive)->rq) == NULL)
|
|
||||||
return ide_stopped;
|
|
||||||
|
|
||||||
/* retry only "normal" I/O: */
|
|
||||||
if (!blk_fs_request(rq)) {
|
|
||||||
rq->errors = 1;
|
|
||||||
ide_end_drive_cmd(drive, BUSY_STAT, 0);
|
|
||||||
return ide_stopped;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (rq->rq_disk) {
|
|
||||||
ide_driver_t *drv;
|
|
||||||
|
|
||||||
drv = *(ide_driver_t **)rq->rq_disk->private_data;
|
|
||||||
return drv->abort(drive, rq);
|
|
||||||
} else
|
|
||||||
return __ide_abort(drive, rq);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void ide_tf_set_specify_cmd(ide_drive_t *drive, struct ide_taskfile *tf)
|
static void ide_tf_set_specify_cmd(ide_drive_t *drive, struct ide_taskfile *tf)
|
||||||
{
|
{
|
||||||
tf->nsect = drive->sect;
|
tf->nsect = drive->sect;
|
||||||
|
@@ -2591,7 +2591,6 @@ static ide_driver_t idetape_driver = {
|
|||||||
.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,
|
||||||
.abort = __ide_abort,
|
|
||||||
#ifdef CONFIG_IDE_PROC_FS
|
#ifdef CONFIG_IDE_PROC_FS
|
||||||
.proc = idetape_proc,
|
.proc = idetape_proc,
|
||||||
#endif
|
#endif
|
||||||
|
@@ -258,19 +258,6 @@ idescsi_atapi_error(ide_drive_t *drive, struct request *rq, u8 stat, u8 err)
|
|||||||
return ide_stopped;
|
return ide_stopped;
|
||||||
}
|
}
|
||||||
|
|
||||||
static ide_startstop_t
|
|
||||||
idescsi_atapi_abort(ide_drive_t *drive, struct request *rq)
|
|
||||||
{
|
|
||||||
debug_log("%s called for %lu\n", __func__,
|
|
||||||
((struct ide_atapi_pc *) rq->special)->scsi_cmd->serial_number);
|
|
||||||
|
|
||||||
rq->errors |= ERROR_MAX;
|
|
||||||
|
|
||||||
idescsi_end_request(drive, 0, 0);
|
|
||||||
|
|
||||||
return ide_stopped;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int idescsi_end_request (ide_drive_t *drive, int uptodate, int nrsecs)
|
static int idescsi_end_request (ide_drive_t *drive, int uptodate, int nrsecs)
|
||||||
{
|
{
|
||||||
idescsi_scsi_t *scsi = drive_to_idescsi(drive);
|
idescsi_scsi_t *scsi = drive_to_idescsi(drive);
|
||||||
@@ -524,7 +511,6 @@ static ide_driver_t idescsi_driver = {
|
|||||||
.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,
|
||||||
.abort = idescsi_atapi_abort,
|
|
||||||
#ifdef CONFIG_IDE_PROC_FS
|
#ifdef CONFIG_IDE_PROC_FS
|
||||||
.proc = idescsi_proc,
|
.proc = idescsi_proc,
|
||||||
#endif
|
#endif
|
||||||
|
@@ -571,8 +571,6 @@ typedef struct hwgroup_s {
|
|||||||
unsigned int sleeping : 1;
|
unsigned int sleeping : 1;
|
||||||
/* BOOL: polling active & poll_timeout field valid */
|
/* BOOL: polling active & poll_timeout field valid */
|
||||||
unsigned int polling : 1;
|
unsigned int polling : 1;
|
||||||
/* BOOL: in a polling reset situation. Must not trigger another reset yet */
|
|
||||||
unsigned int resetting : 1;
|
|
||||||
|
|
||||||
/* current drive */
|
/* current drive */
|
||||||
ide_drive_t *drive;
|
ide_drive_t *drive;
|
||||||
@@ -792,7 +790,6 @@ struct ide_driver_s {
|
|||||||
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);
|
||||||
ide_startstop_t (*abort)(ide_drive_t *, struct request *rq);
|
|
||||||
struct device_driver gen_driver;
|
struct device_driver gen_driver;
|
||||||
int (*probe)(ide_drive_t *);
|
int (*probe)(ide_drive_t *);
|
||||||
void (*remove)(ide_drive_t *);
|
void (*remove)(ide_drive_t *);
|
||||||
@@ -834,10 +831,6 @@ ide_startstop_t __ide_error(ide_drive_t *, struct request *, u8, u8);
|
|||||||
|
|
||||||
ide_startstop_t ide_error (ide_drive_t *drive, const char *msg, byte stat);
|
ide_startstop_t ide_error (ide_drive_t *drive, const char *msg, byte stat);
|
||||||
|
|
||||||
ide_startstop_t __ide_abort(ide_drive_t *, struct request *);
|
|
||||||
|
|
||||||
extern ide_startstop_t ide_abort(ide_drive_t *, const char *);
|
|
||||||
|
|
||||||
extern void ide_fix_driveid(struct hd_driveid *);
|
extern void ide_fix_driveid(struct hd_driveid *);
|
||||||
|
|
||||||
extern void ide_fixstring(u8 *, const int, const int);
|
extern void ide_fixstring(u8 *, const int, const int);
|
||||||
|
Reference in New Issue
Block a user