summaryrefslogtreecommitdiff
path: root/include/linux/ide.h
diff options
context:
space:
mode:
authorMartin Dalecki <dalecki@evision-ventures.com>2002-06-02 02:42:20 -0700
committerLinus Torvalds <torvalds@home.transmeta.com>2002-06-02 02:42:20 -0700
commit76d0453847004cf0dd82e368262b17225f4bdd03 (patch)
treeea5f7de9f3449b4dd7d4cff41bb62ba559961b74 /include/linux/ide.h
parentb6e6f1752e3eec4375acd890b38b99b17ff54992 (diff)
[PATCH] 2.5.19 IDE 80
- Sanitize the handling of the ioctl's and fix a bug on the way in dealing with the WIN_SMART command where arguments where exchanged. - Finally sanitize ioctl further until it turned out that we could get rid of the special request type REQ_DRIVE_CMD entierly. We are now using consistently REQ_DRIVE_ACB. One hidden code path less again! - Realize the ide_end_drive_cmd can be on the REQ_DRIVE_ACB only for ioctl() to a disk. Eliminate it's usage from device type driver modules. - Remove command member from struct hd_drive_task_hdr and place it in strcut ata_taskfile. It is not common between the normal register file and HOB. We will have to introduce some helper functions for particular command types.
Diffstat (limited to 'include/linux/ide.h')
-rw-r--r--include/linux/ide.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/include/linux/ide.h b/include/linux/ide.h
index 7e22036b21a8..9c289abd3ccc 100644
--- a/include/linux/ide.h
+++ b/include/linux/ide.h
@@ -253,11 +253,11 @@ typedef union {
unsigned all : 8; /* all of the bits together */
struct {
#if defined(__LITTLE_ENDIAN_BITFIELD)
- unsigned XXX_head : 4; /* always zeros here */
+ unsigned head : 4; /* always zeros here */
unsigned unit : 1; /* drive select number: 0/1 */
- unsigned XXX_bit5 : 1; /* always 1 */
+ unsigned bit5 : 1; /* always 1 */
unsigned lba : 1; /* using LBA instead of CHS */
- unsigned XXX_bit7 : 1; /* always 1 */
+ unsigned bit7 : 1; /* always 1 */
#elif defined(__BIG_ENDIAN_BITFIELD)
unsigned bit7 : 1;
unsigned lba : 1;
@@ -666,11 +666,12 @@ extern int ide_do_drive_cmd(struct ata_device *, struct request *, ide_action_t)
/*
* Clean up after success/failure of an explicit drive cmd.
*/
-extern void ide_end_drive_cmd(struct ata_device *, struct request *, u8);
+extern void ide_end_drive_cmd(struct ata_device *, struct request *);
struct ata_taskfile {
struct hd_drive_task_hdr taskfile;
struct hd_drive_task_hdr hobfile;
+ u8 cmd; /* actual ATA command */
int command_type;
ide_startstop_t (*prehandler)(struct ata_device *, struct request *);
ide_startstop_t (*handler)(struct ata_device *, struct request *);