Re: [PATCH 2/3] debloat aic7xxx and aic79xx drivers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tuesday 08 April 2008 14:23, Hannes Reinecke wrote:
> > I assume you are talking about this part of a patch:
> > 
> > --- linux-2.6.25-rc6-aic1/drivers/scsi/aic7xxx/aic79xx_reg.h_shipped    2008-03-23 00:43:20.000000000 +0100
> > +++ linux-2.6.25-rc6-aic2/drivers/scsi/aic7xxx/aic79xx_reg.h_shipped    2008-03-23 00:54:59.000000000 +0100
> > @@ -11,23 +11,18 @@ typedef struct ahd_reg_parse_entry {
> >         uint8_t  value;
> >         uint8_t  mask;
> >  } ahd_reg_parse_entry_t;
> > 
> > +#if 0 /* unused */
> > +
> >  #if AIC_DEBUG_REGISTERS
> >  ahd_reg_print_t ahd_mode_ptr_print;
> >  #else
> >  #define ahd_mode_ptr_print(regvalue, cur_col, wrap) \
> >      ahd_print_register(NULL, 0, "MODE_PTR", 0x00, regvalue, cur_col, wrap)
> >  #endif
> > 
> > .....
> > .....
> > 
> Correct.
> 
> > 
> > Let me explain what I am doing here. I am NOT deleting ahd_intstat_print
> > definition, I am moving it below the #endif which terminates big
> > #if 0 /* unused */  block, moving to this place:
> > 
> > 
> > @@ -2377,8 +2043,346 @@ ahd_reg_print_t ahd_scb_disconnected_lis
> >  #define ahd_scb_disconnected_lists_print(regvalue, cur_col, wrap) \
> >      ahd_print_register(NULL, 0, "SCB_DISCONNECTED_LISTS", 0x1b8, regvalue, cur_col, wrap)
> >  #endif
> > 
> > +#endif /* unused */
> > +
> > +#if AIC_DEBUG_REGISTERS
> > +ahd_reg_print_t ahd_intstat_print;
> > +#else
> > +#define ahd_intstat_print(regvalue, cur_col, wrap) \
> > +    ahd_print_register(NULL, 0, "INTSTAT", 0x01, regvalue, cur_col, wrap)
> > +#endif
> > ...
> > ...
> > 
> Hmm.
> 
> > 
> > #if 0 / #endif block ends up containing definitions of 290 functions/macros,
> > none of which is EVER used. I used this script (below) and verified that
> > they are never mentioned anywhere outside of *_shipped files.
> > I also did test builds with and without debug enabled and they build
> > with no problems. No undefined references!
> > 
> Well, still not quite. The point here is that all of the functions in the
> *_shipped files are in fact auto-generated by aicasm, based on the definitions
> in aic79xx.seq and aic79xx.reg. So the *_reg_print.c files contains
> functions for all _defined_ registers, not the actually used ones.
> What we have to do here is to modify aicasm to not print out the
> unused definitions, and copy those (autogenerated) files over to
> the *_shipped files to have them synced properly.
> Hand-patching the *_shipped files is not a good idea.

I do understand this, and I do understnad then _shipped files
are generated. But I failed to find out HOW they are generated.
I don't want to _only_ patch aicasm/* files and skip checking
that my changes work (or at least compile).

Please let me know how to regenerate these _shipped files,
and I will fix it "correctly" by modifying aicasm/* files.
--
vda
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux