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>
diff --git a/sharplhf00l04.c b/sharplhf00l04.c
index 52071e6..c59203d 100644
--- a/sharplhf00l04.c
+++ b/sharplhf00l04.c
@@ -36,7 +36,7 @@
 
 int probe_lhf00l04(struct flashchip *flash)
 {
-	volatile uint8_t *bios = flash->virtual_memory;
+	chipaddr bios = flash->virtual_memory;
 	uint8_t id1, id2;
 
 #if 0
@@ -71,7 +71,7 @@
 	return 1;
 }
 
-uint8_t wait_lhf00l04(volatile uint8_t *bios)
+uint8_t wait_lhf00l04(chipaddr bios)
 {
 	uint8_t status;
 	uint8_t id1, id2;
@@ -101,17 +101,17 @@
 
 int erase_lhf00l04_block(struct flashchip *flash, int offset)
 {
-	volatile uint8_t *bios = flash->virtual_memory + offset;
-	volatile uint8_t *wrprotect = flash->virtual_registers + offset + 2;
+	chipaddr bios = flash->virtual_memory + offset;
+	chipaddr wrprotect = flash->virtual_registers + offset + 2;
 	uint8_t status;
 
 	// clear status register
 	chip_writeb(0x50, bios);
-	printf("Erase at %p\n", bios);
+	printf("Erase at 0x%lx\n", bios);
 	status = wait_lhf00l04(flash->virtual_memory);
 	print_lhf00l04_status(status);
 	// clear write protect
-	printf("write protect is at %p\n", (wrprotect));
+	printf("write protect is at 0x%lx\n", (wrprotect));
 	printf("write protect is 0x%x\n", chip_readb(wrprotect));
 	chip_writeb(0, wrprotect);
 	printf("write protect is 0x%x\n", chip_readb(wrprotect));
@@ -142,8 +142,8 @@
 	return 0;
 }
 
-void write_page_lhf00l04(volatile uint8_t *bios, uint8_t *src,
-			 volatile uint8_t *dst, int page_size)
+void write_page_lhf00l04(chipaddr bios, uint8_t *src,
+			 chipaddr dst, int page_size)
 {
 	int i;
 
@@ -160,7 +160,7 @@
 	int i;
 	int total_size = flash->total_size * 1024;
 	int page_size = flash->page_size;
-	volatile uint8_t *bios = flash->virtual_memory;
+	chipaddr bios = flash->virtual_memory;
 
 	erase_lhf00l04(flash);
 	if (chip_readb(bios) != 0xff) {