[coreboot] [PATCH] flashrom: Use helper functions to access flash chips
Carl-Daniel Hailfinger
c-d.hailfinger.devel.2006 at gmx.net
Mon May 11 23:32:49 CEST 2009
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 at 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;
}
}
--
http://www.hailfinger.org/
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: flashrom_inband_chipaccess_helper_functions03.diff
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20090511/230150e9/attachment.ksh>
More information about the coreboot
mailing list