mirror of
https://review.coreboot.org/flashrom.git
synced 2025-07-01 22:21:16 +02:00
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>
This commit is contained in:
10
en29f002a.c
10
en29f002a.c
@ -32,7 +32,7 @@
|
||||
|
||||
int probe_en29f512(struct flashchip *flash)
|
||||
{
|
||||
volatile uint8_t *bios = flash->virtual_memory;
|
||||
chipaddr bios = flash->virtual_memory;
|
||||
uint8_t id1, id2;
|
||||
|
||||
chip_writeb(0xAA, bios + 0x555);
|
||||
@ -65,7 +65,7 @@ int probe_en29f512(struct flashchip *flash)
|
||||
/* This does not seem to function properly for EN29F002NT. */
|
||||
int probe_en29f002a(struct flashchip *flash)
|
||||
{
|
||||
volatile uint8_t *bios = flash->virtual_memory;
|
||||
chipaddr bios = flash->virtual_memory;
|
||||
uint8_t id1, id2;
|
||||
|
||||
chip_writeb(0xAA, bios + 0x555);
|
||||
@ -95,10 +95,10 @@ int write_en29f002a(struct flashchip *flash, uint8_t *buf)
|
||||
{
|
||||
int i;
|
||||
int total_size = flash->total_size * 1024;
|
||||
volatile uint8_t *bios = flash->virtual_memory;
|
||||
volatile uint8_t *dst = bios;
|
||||
chipaddr bios = flash->virtual_memory;
|
||||
chipaddr dst = bios;
|
||||
|
||||
// *bios = 0xF0;
|
||||
//chip_writeb(0xF0, bios);
|
||||
myusec_delay(10);
|
||||
erase_chip_jedec(flash);
|
||||
|
||||
|
Reference in New Issue
Block a user