diff options
author | Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> | 2009-05-16 21:22:56 +0000 |
---|---|---|
committer | Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> | 2009-05-16 21:22:56 +0000 |
commit | 5820f42ef209cfa0d4070fa9be96c9c91123a93f (patch) | |
tree | a505b6f813fc4f7601f77e7195e479dfddc73571 /w39v080fa.c | |
parent | 4059598a068f7694f2238a3811d85cbfa520a8d5 (diff) | |
download | flashrom-5820f42ef209cfa0d4070fa9be96c9c91123a93f.tar.gz flashrom-5820f42ef209cfa0d4070fa9be96c9c91123a93f.tar.bz2 flashrom-5820f42ef209cfa0d4070fa9be96c9c91123a93f.zip |
Introduce a type "chipaddr" to abstract the offsets within flash regions
Use chipaddr instead of volatile uint8_t * because when we access chips
in external flashers, they are not accessed via pointers at all.
Benefits: This allows us to differentiate between volatile machine
memory accesses and flash chip accesses. It also enforces usage
of chip_{read,write}[bwl] to access flash chips, so nobody will
unintentionally use pointers to access chips anymore. Some unneeded
casts are removed as well. Grepping for chip operations and machine
memory operations doesn't yield any false positives anymore.
Compile tested on 32 bit and 64 bit Linux.
Corresponding to flashrom svn r519.
Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
Diffstat (limited to 'w39v080fa.c')
-rw-r--r-- | w39v080fa.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/w39v080fa.c b/w39v080fa.c index 7b827f82d..8ebd2633a 100644 --- a/w39v080fa.c +++ b/w39v080fa.c @@ -23,7 +23,7 @@ int probe_winbond_fwhub(struct flashchip *flash) { - volatile uint8_t *bios = flash->virtual_memory; + chipaddr bios = flash->virtual_memory; uint8_t vid, did; /* Product Identification Entry */ @@ -54,7 +54,7 @@ int probe_winbond_fwhub(struct flashchip *flash) static int unlock_block_winbond_fwhub(struct flashchip *flash, int offset) { - volatile uint8_t *wrprotect = flash->virtual_registers + offset + 2; + chipaddr wrprotect = flash->virtual_registers + offset + 2; uint8_t locking; printf_debug("Trying to unlock block @0x%08x = 0x%02x\n", offset, @@ -98,7 +98,7 @@ static int unlock_block_winbond_fwhub(struct flashchip *flash, int offset) int unlock_winbond_fwhub(struct flashchip *flash) { int i, total_size = flash->total_size * 1024; - volatile uint8_t *bios = flash->virtual_memory; + chipaddr bios = flash->virtual_memory; uint8_t locking; /* Are there any hardware restrictions that we can't overcome? @@ -143,7 +143,7 @@ int unlock_winbond_fwhub(struct flashchip *flash) return 0; } -static int erase_sector_winbond_fwhub(volatile uint8_t *bios, +static int erase_sector_winbond_fwhub(chipaddr bios, unsigned int sector) { /* Remember: too much sleep can waste your day. */ @@ -168,7 +168,7 @@ static int erase_sector_winbond_fwhub(volatile uint8_t *bios, int erase_winbond_fwhub(struct flashchip *flash) { int i, total_size = flash->total_size * 1024; - volatile uint8_t *bios = flash->virtual_memory; + chipaddr bios = flash->virtual_memory; unlock_winbond_fwhub(flash); @@ -193,7 +193,7 @@ int write_winbond_fwhub(struct flashchip *flash, uint8_t *buf) { int i; int total_size = flash->total_size * 1024; - volatile uint8_t *bios = flash->virtual_memory; + chipaddr bios = flash->virtual_memory; if (erase_winbond_fwhub(flash)) return -1; |