aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2009-06-23 07:29:11 -0400
committerDavid S. Miller <davem@davemloft.net>2009-08-07 13:42:59 -0400
commitfa56d4cb4022c8b313c3b99236e1b87effc3655b (patch)
treeb51b1e66ac75b1412f57f7e41e3aff4bc8f0f0f7 /include
parent2d5abcedeb41f4af9582c60cef70749c3ab90a3b (diff)
ide: allow ide_dev_read_id() to be called from the IRQ context
* Un-static __ide_wait_stat(). * Allow ide_dev_read_id() helper to be called from the IRQ context by adding irq_ctx flag and using mdelay()/__ide_wait_stat() when needed. * Switch ide_driveid_update() to set irq_ctx flag. This change is needed for the consecutive patch which fixes races in handling of user-space SET XFER commands but for improved bisectability and clarity it is better to do it in a separate patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/linux/ide.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/ide.h b/include/linux/ide.h
index edc93a6d931d..cb6cd0459a5e 100644
--- a/include/linux/ide.h
+++ b/include/linux/ide.h
@@ -1081,6 +1081,7 @@ extern void ide_fixstring(u8 *, const int, const int);
1081 1081
1082int ide_busy_sleep(ide_drive_t *, unsigned long, int); 1082int ide_busy_sleep(ide_drive_t *, unsigned long, int);
1083 1083
1084int __ide_wait_stat(ide_drive_t *, u8, u8, unsigned long, u8 *);
1084int ide_wait_stat(ide_startstop_t *, ide_drive_t *, u8, u8, unsigned long); 1085int ide_wait_stat(ide_startstop_t *, ide_drive_t *, u8, u8, unsigned long);
1085 1086
1086ide_startstop_t ide_do_park_unpark(ide_drive_t *, struct request *); 1087ide_startstop_t ide_do_park_unpark(ide_drive_t *, struct request *);
@@ -1169,7 +1170,7 @@ int ide_no_data_taskfile(ide_drive_t *, struct ide_cmd *);
1169 1170
1170int ide_taskfile_ioctl(ide_drive_t *, unsigned long); 1171int ide_taskfile_ioctl(ide_drive_t *, unsigned long);
1171 1172
1172int ide_dev_read_id(ide_drive_t *, u8, u16 *); 1173int ide_dev_read_id(ide_drive_t *, u8, u16 *, int);
1173 1174
1174extern int ide_driveid_update(ide_drive_t *); 1175extern int ide_driveid_update(ide_drive_t *);
1175extern int ide_config_drive_speed(ide_drive_t *, u8); 1176extern int ide_config_drive_speed(ide_drive_t *, u8);