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) {
