Skip to content

debloat aic7xxx and aic79xx drivers

Denys Vlasenko linux-scsi lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest3 patches 11 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3debloat aic7xxx and aic79xx driversdrivers/scsi/aic7xxx/aic79xx_core.c drivers/scsi/aic7xxx/aic79xx_inline.h drivers/scsi/aic7xxx/aic79xx_osm.c +6 more+1713 -16732 replies
2/3debloat aic7xxx and aic79xx driversdrivers/scsi/aic7xxx/aic79xx.h drivers/scsi/aic7xxx/aic79xx_core.c drivers/scsi/aic7xxx/aic79xx_inline.h +15 more+2014 -20630 replies
3/3debloat aic7xxx and aic79xx driversdrivers/scsi/aic7xxx/aic79xx.h drivers/scsi/aic7xxx/aic79xx_core.c drivers/scsi/aic7xxx/aic79xx_osm.c +13 more+73 -783 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/3] debloat aic7xxx and aic79xx drivers

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.

--
vda