diff --git a/am29f040b.c b/am29f040b.c
index 89cdff98063b59302f738dfa897ea1f5b4a7fa5a..ae345e54d8d3ded62b12bfde3b8f0198b839342f 100644
--- a/am29f040b.c
+++ b/am29f040b.c
@@ -69,15 +69,15 @@ static __inline__ int write_sector_29f040b(volatile char * bios, unsigned char *
 
 int probe_29f040b (struct flashchip * flash)
 {
-	volatile char * bios = flash->virt_addr;
+	volatile unsigned char * bios = flash->virt_addr;
 	unsigned char id1, id2;
 
 	*(bios + 0x555) = 0xAA;
 	*(bios + 0x2AA) = 0x55;
 	*(bios + 0x555) = 0x90;
     
-	id1 = *(unsigned char *) bios;
-	id2 = *(unsigned char *) (bios + 0x01);
+	id1 = * bios;
+	id2 = * (bios + 0x01);
 
 	*bios = 0xF0;