diff options
| author | Alan Cox <alan@lxorguk.ukuu.org.uk> | 2003-02-17 19:46:44 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2003-02-17 19:46:44 -0800 |
| commit | 8d99720cdafefd262dd5bab90713d49f9e875f0c (patch) | |
| tree | 4f0332e86065eff50672285f1c5d068e088fac0f /include/linux/ide.h | |
| parent | cc02994e138537060235930ab2ce36bc3510d69b (diff) | |
[PATCH] resync externs, add execute command remove is_flashcard
(is_flashcard is unneeded outside ide_probe as we have a drive->flash check)
Diffstat (limited to 'include/linux/ide.h')
| -rw-r--r-- | include/linux/ide.h | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/include/linux/ide.h b/include/linux/ide.h index 681238c18591..32f4e6650463 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h @@ -1115,12 +1115,13 @@ typedef struct ide_settings_s { struct ide_settings_s *next; } ide_settings_t; -void ide_add_setting(ide_drive_t *drive, const char *name, int rw, int read_ioctl, int write_ioctl, int data_type, int min, int max, int mul_factor, int div_factor, void *data, ide_procset_t *set); -void ide_remove_setting(ide_drive_t *drive, char *name); -ide_settings_t *ide_find_setting_by_name(ide_drive_t *drive, char *name); -int ide_read_setting(ide_drive_t *t, ide_settings_t *setting); -int ide_write_setting(ide_drive_t *drive, ide_settings_t *setting, int val); -void ide_add_generic_settings(ide_drive_t *drive); +extern struct semaphore ide_setting_sem; +extern int ide_add_setting(ide_drive_t *drive, const char *name, int rw, int read_ioctl, int write_ioctl, int data_type, int min, int max, int mul_factor, int div_factor, void *data, ide_procset_t *set); +extern void ide_remove_setting(ide_drive_t *drive, char *name); +extern ide_settings_t *ide_find_setting_by_name(ide_drive_t *drive, char *name); +extern int ide_read_setting(ide_drive_t *t, ide_settings_t *setting); +extern int ide_write_setting(ide_drive_t *drive, ide_settings_t *setting, int val); +extern void ide_add_generic_settings(ide_drive_t *drive); /* * /proc/ide interface @@ -1254,12 +1255,19 @@ extern int noautodma; extern int ide_end_request (ide_drive_t *drive, int uptodate, int nrsecs); /* - * This is used on exit from the driver, to designate the next irq handler + * This is used on exit from the driver to designate the next irq handler * and also to start the safety timer. */ extern void ide_set_handler (ide_drive_t *drive, ide_handler_t *handler, unsigned int timeout, ide_expiry_t *expiry); /* + * This is used on exit from the driver to designate the next irq handler + * and start the safety time safely and atomically from the IRQ handler + * with respect to the command issue (which it also does) + */ +extern void ide_execute_command(ide_drive_t *, task_ioreg_t cmd, ide_handler_t *, unsigned int, ide_expiry_t *); + +/* * Error reporting, in human readable form (luxurious, but a memory hog). * * (drive, msg, status) @@ -1561,14 +1569,6 @@ extern int ide_system_bus_speed(void); */ extern void ide_stall_queue(ide_drive_t *drive, unsigned long timeout); -/* - * CompactFlash cards and their brethern pretend to be removable hard disks, - * but they never have a slave unit, and they don't have doorlock mechanisms. - * This test catches them, and is invoked elsewhere when setting appropriate - * config bits. - */ -extern int drive_is_flashcard (ide_drive_t *drive); - extern int ide_spin_wait_hwgroup(ide_drive_t *); extern void ide_timer_expiry(unsigned long); extern void ide_intr(int irq, void *dev_id, struct pt_regs *regs); |
