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