diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2009-01-06 17:20:56 +0100 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2009-01-06 17:20:56 +0100 |
commit | 5e7f3a46690f7f6c9f2781c700ab4370874aa0e8 (patch) | |
tree | be5a50962416bbbc323c24d997ceb3472e3d44b9 /drivers/ide/ide.c | |
parent | a32296f93821497d794ab8e1312d677717479777 (diff) | |
download | lwn-5e7f3a46690f7f6c9f2781c700ab4370874aa0e8.tar.gz lwn-5e7f3a46690f7f6c9f2781c700ab4370874aa0e8.zip |
ide: dynamic allocation of device structures
Allocate device structures dynamically instead of having them embedded
in ide_hwif_t:
* Remove needless zeroing of port structure from ide_init_port_data().
* Add ide_hwif_t.devices[MAX_DRIVES] (table of pointers to the devices).
* Add ide_port_{alloc,free}_devices() helpers and use them respectively
in ide_{host,free}_alloc().
* Convert all users of ->drives[] to use ->devices[] instead.
While at it:
* Use drive->dn for the slave device check in scc_pata.c.
As a nice side-effect this patch cuts ~1kB (x86-32) from the resulting
code size:
text data bss dec hex filename
53963 1244 237 55444 d894 drivers/ide/ide-core.o.before
52981 1244 237 54462 d4be drivers/ide/ide-core.o.after
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/ide.c')
-rw-r--r-- | drivers/ide/ide.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c index 6971c285a212..8a6f893d127e 100644 --- a/drivers/ide/ide.c +++ b/drivers/ide/ide.c @@ -497,7 +497,7 @@ void ide_port_apply_params(ide_hwif_t *hwif) } for (i = 0; i < MAX_DRIVES; i++) - ide_dev_apply_params(&hwif->drives[i], i); + ide_dev_apply_params(hwif->devices[i], i); } /* |