diff options
| author | Martin Dalecki <dalecki@evision-ventures.com> | 2002-02-27 20:15:12 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@penguin.transmeta.com> | 2002-02-27 20:15:12 -0800 |
| commit | f0a86f5a3cdfaff7153c542ead1174eb6d06c97a (patch) | |
| tree | 1acb913a6069726dbf4e112801648cb15f010122 /include | |
| parent | 38b20d21c6862b0388086a9b32e930d380c7fe96 (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.h | 9 |
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 */ |
