The semantic patch I used in r418 to make the original conversion to accessor functions was missing one isomorphism: a[b] <=> *(a+b)
The semantic patcher Coccinelle was used to create this patch. Semantic patch follows: @@ typedef uint8_t; expression a; volatile uint8_t *b; @@ - b[a] + *(b + a) @@ expression a; volatile uint8_t *b; @@ - *(b) = (a); + chip_writeb(a, b); @@ volatile uint8_t *b; @@ - *(b) + chip_readb(b) @@ type T; T b; @@ ( chip_readb | chip_writeb ) (..., - (T) - (b) + b )
Signed-off-by: Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net
Index: flashrom-inband_chipaccess_helper_functions/jedec.c =================================================================== --- flashrom-inband_chipaccess_helper_functions/jedec.c (Revision 496) +++ flashrom-inband_chipaccess_helper_functions/jedec.c (Arbeitskopie) @@ -331,8 +331,8 @@ erase_chip_jedec(flash); // dumb check if erase was successful. for (i = 0; i < total_size; i++) { - if (bios[i] != (uint8_t) 0xff) { - printf("ERASE FAILED @%d, val %02x!\n", i, bios[i]); + if (chip_readb(bios + i) != (uint8_t) 0xff) { + printf("ERASE FAILED @%d, val %02x!\n", i, chip_readb(bios + i)); return -1; } } Index: flashrom-inband_chipaccess_helper_functions/w39v040c.c =================================================================== --- flashrom-inband_chipaccess_helper_functions/w39v040c.c (Revision 496) +++ flashrom-inband_chipaccess_helper_functions/w39v040c.c (Arbeitskopie) @@ -67,8 +67,8 @@ erase_sector_jedec(flash->virtual_memory, i);
for (i = 0; i < total_size; i++) - if (0xff != bios[i]) { - printf("ERASE FAILED at 0x%08x! Expected=0xff, Read=0x%02x\n", i, bios[i]); + if (0xff != chip_readb(bios + i)) { + printf("ERASE FAILED at 0x%08x! Expected=0xff, Read=0x%02x\n", i, chip_readb(bios + i)); return -1; }
Index: flashrom-inband_chipaccess_helper_functions/sst_fwhub.c =================================================================== --- flashrom-inband_chipaccess_helper_functions/sst_fwhub.c (Revision 496) +++ flashrom-inband_chipaccess_helper_functions/sst_fwhub.c (Arbeitskopie) @@ -122,7 +122,7 @@
// dumb check if erase was successful. for (i = 0; i < total_size; i++) { - if (bios[i] != 0xff) { + if (chip_readb(bios + i) != 0xff) { printf("ERASE FAILED!\n"); return -1; } Index: flashrom-inband_chipaccess_helper_functions/w39v080fa.c =================================================================== --- flashrom-inband_chipaccess_helper_functions/w39v080fa.c (Revision 496) +++ flashrom-inband_chipaccess_helper_functions/w39v080fa.c (Arbeitskopie) @@ -180,8 +180,8 @@ printf("\n");
for (i = 0; i < total_size; i++) { - if (bios[i] != 0xff) { - fprintf(stderr, "Error: Flash chip erase failed at 0x%08x(0x%02x)\n", i, bios[i]); + if (chip_readb(bios + i) != 0xff) { + fprintf(stderr, "Error: Flash chip erase failed at 0x%08x(0x%02x)\n", i, chip_readb(bios + i)); return -1; } }