diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-09-15 13:01:16 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-09-15 13:01:16 -0400 |
commit | 0cb583fd2862f19ea88b02eb307d11c09e51e2f8 (patch) | |
tree | 740769ab145ed72af4d00ea8e4d55ebcef337fce /include | |
parent | 723e9db7a46e328527cc3da2b478b831184fe828 (diff) | |
parent | a2d10568fd3965fffeb29a3a6f29966dd3801727 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-next-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-next-2.6:
ide: fixup for fujitsu disk
ide: convert to ->proc_fops
at91_ide: remove headers specific for at91sam9263
IDE: palm_bk3710: convert clock usage after clkdev conversion
ide: fix races in handling of user-space SET XFER commands
ide: allow ide_dev_read_id() to be called from the IRQ context
ide: ide-taskfile.c fix style problems
drivers/ide/ide-cd.c: Use DIV_ROUND_CLOSEST
ide-tape: fix handling of postponed rqs
ide-tape: convert to ide_debug_log macro
ide-tape: fix debug call
ide: Fix annoying warning in ide_pio_bytes().
IDE: Save a call to PageHighMem()
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/ide.h | 30 |
1 files changed, 7 insertions, 23 deletions
diff --git a/include/linux/ide.h b/include/linux/ide.h index edc93a6d931d..e4135d6e0556 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h | |||
@@ -258,6 +258,7 @@ enum { | |||
258 | IDE_TFLAG_DYN = (1 << 5), | 258 | IDE_TFLAG_DYN = (1 << 5), |
259 | IDE_TFLAG_FS = (1 << 6), | 259 | IDE_TFLAG_FS = (1 << 6), |
260 | IDE_TFLAG_MULTI_PIO = (1 << 7), | 260 | IDE_TFLAG_MULTI_PIO = (1 << 7), |
261 | IDE_TFLAG_SET_XFER = (1 << 8), | ||
261 | }; | 262 | }; |
262 | 263 | ||
263 | enum { | 264 | enum { |
@@ -294,7 +295,7 @@ struct ide_cmd { | |||
294 | } out, in; | 295 | } out, in; |
295 | } valid; | 296 | } valid; |
296 | 297 | ||
297 | u8 tf_flags; | 298 | u16 tf_flags; |
298 | u8 ftf_flags; /* for TASKFILE ioctl */ | 299 | u8 ftf_flags; /* for TASKFILE ioctl */ |
299 | int protocol; | 300 | int protocol; |
300 | 301 | ||
@@ -918,8 +919,7 @@ __IDE_PROC_DEVSET(_name, _min, _max, NULL, NULL) | |||
918 | typedef struct { | 919 | typedef struct { |
919 | const char *name; | 920 | const char *name; |
920 | mode_t mode; | 921 | mode_t mode; |
921 | read_proc_t *read_proc; | 922 | const struct file_operations *proc_fops; |
922 | write_proc_t *write_proc; | ||
923 | } ide_proc_entry_t; | 923 | } ide_proc_entry_t; |
924 | 924 | ||
925 | void proc_ide_create(void); | 925 | void proc_ide_create(void); |
@@ -931,24 +931,8 @@ void ide_proc_unregister_port(ide_hwif_t *); | |||
931 | void ide_proc_register_driver(ide_drive_t *, struct ide_driver *); | 931 | void ide_proc_register_driver(ide_drive_t *, struct ide_driver *); |
932 | void ide_proc_unregister_driver(ide_drive_t *, struct ide_driver *); | 932 | void ide_proc_unregister_driver(ide_drive_t *, struct ide_driver *); |
933 | 933 | ||
934 | read_proc_t proc_ide_read_capacity; | 934 | extern const struct file_operations ide_capacity_proc_fops; |
935 | read_proc_t proc_ide_read_geometry; | 935 | extern const struct file_operations ide_geometry_proc_fops; |
936 | |||
937 | /* | ||
938 | * Standard exit stuff: | ||
939 | */ | ||
940 | #define PROC_IDE_READ_RETURN(page,start,off,count,eof,len) \ | ||
941 | { \ | ||
942 | len -= off; \ | ||
943 | if (len < count) { \ | ||
944 | *eof = 1; \ | ||
945 | if (len <= 0) \ | ||
946 | return 0; \ | ||
947 | } else \ | ||
948 | len = count; \ | ||
949 | *start = page + off; \ | ||
950 | return len; \ | ||
951 | } | ||
952 | #else | 936 | #else |
953 | static inline void proc_ide_create(void) { ; } | 937 | static inline void proc_ide_create(void) { ; } |
954 | static inline void proc_ide_destroy(void) { ; } | 938 | static inline void proc_ide_destroy(void) { ; } |
@@ -960,7 +944,6 @@ static inline void ide_proc_register_driver(ide_drive_t *drive, | |||
960 | struct ide_driver *driver) { ; } | 944 | struct ide_driver *driver) { ; } |
961 | static inline void ide_proc_unregister_driver(ide_drive_t *drive, | 945 | static inline void ide_proc_unregister_driver(ide_drive_t *drive, |
962 | struct ide_driver *driver) { ; } | 946 | struct ide_driver *driver) { ; } |
963 | #define PROC_IDE_READ_RETURN(page,start,off,count,eof,len) return 0; | ||
964 | #endif | 947 | #endif |
965 | 948 | ||
966 | enum { | 949 | enum { |
@@ -1081,6 +1064,7 @@ extern void ide_fixstring(u8 *, const int, const int); | |||
1081 | 1064 | ||
1082 | int ide_busy_sleep(ide_drive_t *, unsigned long, int); | 1065 | int ide_busy_sleep(ide_drive_t *, unsigned long, int); |
1083 | 1066 | ||
1067 | int __ide_wait_stat(ide_drive_t *, u8, u8, unsigned long, u8 *); | ||
1084 | int ide_wait_stat(ide_startstop_t *, ide_drive_t *, u8, u8, unsigned long); | 1068 | int ide_wait_stat(ide_startstop_t *, ide_drive_t *, u8, u8, unsigned long); |
1085 | 1069 | ||
1086 | ide_startstop_t ide_do_park_unpark(ide_drive_t *, struct request *); | 1070 | ide_startstop_t ide_do_park_unpark(ide_drive_t *, struct request *); |
@@ -1169,7 +1153,7 @@ int ide_no_data_taskfile(ide_drive_t *, struct ide_cmd *); | |||
1169 | 1153 | ||
1170 | int ide_taskfile_ioctl(ide_drive_t *, unsigned long); | 1154 | int ide_taskfile_ioctl(ide_drive_t *, unsigned long); |
1171 | 1155 | ||
1172 | int ide_dev_read_id(ide_drive_t *, u8, u16 *); | 1156 | int ide_dev_read_id(ide_drive_t *, u8, u16 *, int); |
1173 | 1157 | ||
1174 | extern int ide_driveid_update(ide_drive_t *); | 1158 | extern int ide_driveid_update(ide_drive_t *); |
1175 | extern int ide_config_drive_speed(ide_drive_t *, u8); | 1159 | extern int ide_config_drive_speed(ide_drive_t *, u8); |