diff options
| author | Martin Dalecki <dalecki@evision-ventures.com> | 2002-06-02 02:42:20 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2002-06-02 02:42:20 -0700 |
| commit | 76d0453847004cf0dd82e368262b17225f4bdd03 (patch) | |
| tree | ea5f7de9f3449b4dd7d4cff41bb62ba559961b74 /include/linux/ide.h | |
| parent | b6e6f1752e3eec4375acd890b38b99b17ff54992 (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.h | 9 |
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 *); |
