ide: remove 'command_type' field from ide_task_t
* Add 'data_buf' and 'nsect' variables in ide_taskfile_ioctl() to cache data buffer pointer and number of sectors to transfer (this allows us to have only one ide_diag_taskfile() call). * Add IDE_TFLAG_WRITE taskfile flag and use it to check whether the REQ_RW request flag should be set. * Move ->command_type handling from ide_diag_taskfile() to ide_taskfile_ioctl() and use ->req_cmd instead of ->command_type. * Add 'nsect' parameter to ide_raw_taskfile(). * Merge ide_diag_taskfile() into ide_raw_taskfile(). * Initialize ->data_phase explicitly in idedisk_prepare_flush(), ide_start_power_step() and ide_disk_special(). * Remove no longer needed 'command_type' field from ide_task_t. * Add #ifndef/#endif __KERNEL__ to <linux/hdreg.h> around no longer used by kernel IDE_DRIVE_TASK_* and TASKFILE_* defines. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
@@ -909,6 +909,7 @@ enum {
|
||||
IDE_TFLAG_OUT_LBAM |
|
||||
IDE_TFLAG_OUT_LBAH,
|
||||
IDE_TFLAG_OUT_DEVICE = (1 << 14),
|
||||
IDE_TFLAG_WRITE = (1 << 15),
|
||||
};
|
||||
|
||||
struct ide_taskfile {
|
||||
@@ -948,7 +949,6 @@ typedef struct ide_task_s {
|
||||
u16 tf_flags;
|
||||
ide_reg_valid_t tf_in_flags;
|
||||
int data_phase;
|
||||
int command_type;
|
||||
ide_pre_handler_t *prehandler;
|
||||
ide_handler_t *handler;
|
||||
struct request *rq; /* copy of request */
|
||||
@@ -983,8 +983,7 @@ extern ide_startstop_t task_no_data_intr(ide_drive_t *);
|
||||
extern ide_startstop_t task_in_intr(ide_drive_t *);
|
||||
extern ide_startstop_t pre_task_out_intr(ide_drive_t *, struct request *);
|
||||
|
||||
extern int ide_raw_taskfile(ide_drive_t *, ide_task_t *, u8 *);
|
||||
|
||||
int ide_raw_taskfile(ide_drive_t *, ide_task_t *, u8 *, u16);
|
||||
int ide_no_data_taskfile(ide_drive_t *, ide_task_t *);
|
||||
|
||||
int ide_taskfile_ioctl(ide_drive_t *, unsigned int, unsigned long);
|
||||
|
Reference in New Issue
Block a user