aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/hdreg.h
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-01-25 16:17:06 -0500
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-01-25 16:17:06 -0500
commit650d841d9e053a618dd8ce753422f91b493cf2f6 (patch)
tree70f81acbf856e4a4d8126bdf6d60144b374cc1a9 /include/linux/hdreg.h
parentcd2a2d969761c26542095c01324201ca0b3ee896 (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.h4
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
118typedef struct ide_task_request_s { 118typedef 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__
142typedef struct hd_drive_task_hdr { 143typedef 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