summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMartin Dalecki <dalecki@evision-ventures.com>2002-02-27 20:15:12 -0800
committerLinus Torvalds <torvalds@penguin.transmeta.com>2002-02-27 20:15:12 -0800
commitf0a86f5a3cdfaff7153c542ead1174eb6d06c97a (patch)
tree1acb913a6069726dbf4e112801648cb15f010122 /include
parent38b20d21c6862b0388086a9b32e930d380c7fe96 (diff)
[PATCH] 2.5.6-pre1 IDE cleanup 10
This is finishing the cleanup parts already started in ide-clean-9. It kills the ide_register_module() and ide_unregister_module() as well as associated idiosyncracies alltogether. It turns out that this patch is actually fixing a bug which was present in the driver before: the sub-module initialization functions where called at least twice - which is an abundance. Tough there is a bit of global namespace pollution caused by this patch - but I'm aware of it and will fix it just a bit later. (The terminology used inside the IDE code is anyway nothing common else in the linux universum...) The next targets will be: 1. Code obfuscation by "wrappers" around generic BIO level functions. 2. ide_hwgroup_t - which is only used to serialize multiple discs on the same interrupt and similar. This is however a tough one. 3. There is a plenty of code waste in the chipset drivers, where there is baroque informative code for the proc file system for static stuff, which in fact belongs just to syslog(). In fact the default RedHat distribution kernel is killing this gratitious abuse of the /proc concept since a long long time... I'm still awaiting the day of /proc/GPL, where GPL contains the full text of it...
Diffstat (limited to 'include')
-rw-r--r--include/linux/ide.h9
1 files changed, 1 insertions, 8 deletions
diff --git a/include/linux/ide.h b/include/linux/ide.h
index b734a586cd45..31986f42acb4 100644
--- a/include/linux/ide.h
+++ b/include/linux/ide.h
@@ -722,12 +722,7 @@ typedef struct ide_driver_s {
unsigned long (*capacity)(ide_drive_t *);
ide_startstop_t (*special)(ide_drive_t *);
ide_proc_entry_t *proc;
- int (*driver_init)(void);
int (*driver_reinit)(ide_drive_t *);
-
- /* FIXME: Single linked list of drivers for iteration.
- */
- struct ide_driver_s *next;
} ide_driver_t;
#define DRIVER(drive) ((drive)->driver)
@@ -742,7 +737,6 @@ typedef struct ide_driver_s {
*/
#ifndef _IDE_C
extern struct hwif_s ide_hwifs[]; /* master data repository */
-extern struct ide_driver_s *ide_drivers;
#endif
extern int noautodma;
@@ -1072,8 +1066,6 @@ int idescsi_init (void);
#endif /* CONFIG_BLK_DEV_IDESCSI */
#endif /* _IDE_C */
-extern int ide_register_module (struct ide_driver_s *d);
-extern void ide_unregister_module (struct ide_driver_s *d);
ide_drive_t *ide_scan_devices (byte media, const char *name, ide_driver_t *driver, int n);
extern int ide_register_subdriver(ide_drive_t *drive, ide_driver_t *driver);
extern int ide_unregister_subdriver(ide_drive_t *drive);
@@ -1108,5 +1100,6 @@ extern unsigned long ide_get_or_set_dma_base (ide_hwif_t *hwif, int extra, const
extern spinlock_t ide_lock;
extern int drive_is_ready(ide_drive_t *drive);
+extern void revalidate_drives(void);
#endif /* _IDE_H */