From 3dbd10f3d8b00dad35d3fac95e91c066ae71d9a8 Mon Sep 17 00:00:00 2001 From: Hannes Reinecke Date: Fri, 25 Apr 2008 15:01:41 +0200 Subject: [SCSI] aic7xxx: teach aicasm to not emit unused debug code/data Add a 'count' variable to each symbol which gets increased every time the symbol is referenced. And then modify the register definition to include counts for symbols which are referenced from the source code only and not from the sequencer code. This will give us an automatic usage count for the symbols with only minimal hand-crafting. Signed-off-by: James Bottomley --- drivers/scsi/aic7xxx/aicasm/aicasm_gram.y | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'drivers/scsi/aic7xxx/aicasm/aicasm_gram.y') diff --git a/drivers/scsi/aic7xxx/aicasm/aicasm_gram.y b/drivers/scsi/aic7xxx/aicasm/aicasm_gram.y index e1079dd..81be6a2 100644 --- a/drivers/scsi/aic7xxx/aicasm/aicasm_gram.y +++ b/drivers/scsi/aic7xxx/aicasm/aicasm_gram.y @@ -143,6 +143,8 @@ void yyerror(const char *string); %token T_ADDRESS +%token T_COUNT + %token T_ACCESS_MODE %token T_MODES @@ -353,6 +355,7 @@ reg_attribute_list: reg_attribute: reg_address | size +| count | access_mode | modes | field_defn @@ -393,6 +396,13 @@ size: } ; +count: + T_COUNT T_NUMBER + { + cur_symbol->count += $2; + } +; + access_mode: T_ACCESS_MODE T_MODE { @@ -801,6 +811,7 @@ scratch_ram: cur_symtype = SRAMLOC; cur_symbol->type = SRAMLOC; initialize_symbol(cur_symbol); + cur_symbol->count += 1; } reg_address { @@ -832,6 +843,7 @@ scb: initialize_symbol(cur_symbol); /* 64 bytes of SCB space */ cur_symbol->info.rinfo->size = 64; + cur_symbol->count += 1; } reg_address { -- cgit v1.1