Hi,
Following patches debloat drivers/scsi/aic7xxx/*.
I also had to add prototypes for ahc_lookup_scb
and ahd_lookup_scb to .h files.
1-debloat.patch
Deinlines and moves big functions from .h to .c files.
Adds prototypes for ahc_lookup_scb and ahd_lookup_scb to .h files.
2-addstatic.patch
Adds statics, #ifdefs out huge amount of unused code, adds consts
3-addconst.patch
Adds more consts
Driver code/data size reductions:
Build with debugging on (CONFIG_AIC7XXX_DEBUG_ENABLE=y):
text data bss dec hex filename
310865 49922 1204 361991 58607 linux-2.6.23.t/drivers/scsi/aic7xxx/built-in.o
221987 2754 1204 225945 37299 linux-2.6.23-aic-3-addconst.t/drivers/scsi/aic7xxx/built-in.o
With debugging off:
text data bss dec hex filename
298896 42754 1172 342822 53b26 linux-2.6.23.tt/drivers/scsi/aic7xxx/built-in.o
216068 2754 1172 219994 35b5a linux-2.6.23-aic-3-addconst.tt/drivers/scsi/aic7xxx/built-in.o
make namespacecheck goes from 400+ functions to:
drivers/scsi/aic7xxx/aic79xx_core.o
ahd_inq
ahd_inw
ahd_outq
ahd_outw
drivers/scsi/aic7xxx/aic79xx_osm.o
ahd_insb
drivers/scsi/aic7xxx/aic7xxx_core.o
ahc_inq
ahc_outq
drivers/scsi/aic7xxx/aic7xxx_osm.o
ahc_insb
None of these patches touch any logic, code changes are pretty minimal.
Compile tested and applies cleanly to 2.6.23.
I don't have this hardware anymore and cannot run test these patches.
Please apply.
Signed-off-by: Denys Vlasenko <[email protected]>
--
vda
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]