diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-01-25 16:17:06 -0500 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-01-25 16:17:06 -0500 |
commit | 650d841d9e053a618dd8ce753422f91b493cf2f6 (patch) | |
tree | 70f81acbf856e4a4d8126bdf6d60144b374cc1a9 /include/linux/hdreg.h | |
parent | cd2a2d969761c26542095c01324201ca0b3ee896 (diff) |
ide: add struct ide_taskfile (take 2)
* Don't set write-only ide_task_t.hobRegister[6] and ide_task_t.hobRegister[7]
in idedisk_set_max_address_ext().
* Add struct ide_taskfile and use it in ide_task_t instead of tfRegister[]
and hobRegister[].
* Remove no longer needed IDE_CONTROL_OFFSET_HOB define.
* Add #ifndef/#endif __KERNEL__ around definitions of {task,hob}_struct_t.
While at it:
* Use ATA_LBA define for LBA bit (0x40) as suggested by Tejun Heo.
v2:
* Add missing newlines. (Noticed by Sergei)
* Use ~ATA_LBA instead of 0xBF. (Noticed by Sergei)
* Use unnamed unions for error/feature and status/command.
(Suggested by Sergei).
There should be no functionality changes caused by this patch.
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Cc: Tejun Heo <htejun@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'include/linux/hdreg.h')
-rw-r--r-- | include/linux/hdreg.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/linux/hdreg.h b/include/linux/hdreg.h index 3bcb88560418..df17bf767d98 100644 --- a/include/linux/hdreg.h +++ b/include/linux/hdreg.h | |||
@@ -117,7 +117,7 @@ typedef union ide_reg_valid_s { | |||
117 | 117 | ||
118 | typedef struct ide_task_request_s { | 118 | typedef struct ide_task_request_s { |
119 | __u8 io_ports[8]; | 119 | __u8 io_ports[8]; |
120 | __u8 hob_ports[8]; | 120 | __u8 hob_ports[8]; /* bytes 6 and 7 are unused */ |
121 | ide_reg_valid_t out_flags; | 121 | ide_reg_valid_t out_flags; |
122 | ide_reg_valid_t in_flags; | 122 | ide_reg_valid_t in_flags; |
123 | int data_phase; | 123 | int data_phase; |
@@ -139,6 +139,7 @@ struct hd_drive_cmd_hdr { | |||
139 | __u8 sector_count; | 139 | __u8 sector_count; |
140 | }; | 140 | }; |
141 | 141 | ||
142 | #ifndef __KERNEL__ | ||
142 | typedef struct hd_drive_task_hdr { | 143 | typedef struct hd_drive_task_hdr { |
143 | __u8 data; | 144 | __u8 data; |
144 | __u8 feature; | 145 | __u8 feature; |
@@ -160,6 +161,7 @@ typedef struct hd_drive_hob_hdr { | |||
160 | __u8 device_head; | 161 | __u8 device_head; |
161 | __u8 control; | 162 | __u8 control; |
162 | } hob_struct_t; | 163 | } hob_struct_t; |
164 | #endif | ||
163 | 165 | ||
164 | #define TASKFILE_INVALID 0x7fff | 166 | #define TASKFILE_INVALID 0x7fff |
165 | #define TASKFILE_48 0x8000 | 167 | #define TASKFILE_48 0x8000 |