diff --git a/src/acpi.c b/src/acpi.c
index 17b0a92..79276a2 100644
--- a/src/acpi.c
+++ b/src/acpi.c
@@ -236,7 +236,7 @@
     memcpy(h->oem_table_id + 4, (void*)&sig, 4);
     h->oem_revision = cpu_to_le32(1);
     h->asl_compiler_revision = cpu_to_le32(1);
-    h->checksum = -checksum((void *)h, len);
+    h->checksum = -checksum(h, len);
 }
 
 #define SSDT_SIGNATURE 0x54445353// SSDT
@@ -369,7 +369,7 @@
     rsdp->signature = RSDP_SIGNATURE;
     memcpy(rsdp->oem_id, CONFIG_APPNAME6, 6);
     rsdp->rsdt_physical_address = cpu_to_le32(rsdt_addr);
-    rsdp->checksum = -checksum((void *)rsdp, 20);
+    rsdp->checksum = -checksum(rsdp, 20);
     RsdpAddr = rsdp;
 
     /* RSDT */
diff --git a/src/ata.c b/src/ata.c
index a283328..5eefd32 100644
--- a/src/ata.c
+++ b/src/ata.c
@@ -911,7 +911,7 @@
     fdpt->a0h_signature = 0xa0;
 
     // Checksum structure.
-    u8 sum = checksum((u8*)fdpt, sizeof(*fdpt)-1);
+    u8 sum = checksum(fdpt, sizeof(*fdpt)-1);
     fdpt->checksum = -sum;
 }
 
diff --git a/src/optionroms.c b/src/optionroms.c
index 14d84d2..e750bbb 100644
--- a/src/optionroms.c
+++ b/src/optionroms.c
@@ -114,7 +114,7 @@
     if (rom->signature != OPTION_ROM_SIGNATURE)
         return 0;
     u32 len = rom->size * 512;
-    u8 sum = checksum((void*)rom, len);
+    u8 sum = checksum(rom, len);
     if (sum != 0) {
         dprintf(1, "Found option rom with bad checksum: loc=%p len=%d sum=%x\n"
                 , rom, len, sum);
diff --git a/src/pirtable.c b/src/pirtable.c
index ad5cf27..777a94b 100644
--- a/src/pirtable.c
+++ b/src/pirtable.c
@@ -100,6 +100,6 @@
     dprintf(3, "init PIR table\n");
 
     PIR_TABLE.pir.signature = PIR_SIGNATURE;
-    PIR_TABLE.pir.checksum = -checksum((u8*)&PIR_TABLE, sizeof(PIR_TABLE));
+    PIR_TABLE.pir.checksum = -checksum(&PIR_TABLE, sizeof(PIR_TABLE));
     PirOffset = (u32)&PIR_TABLE.pir - BUILD_BIOS_ADDR;
 }
diff --git a/src/pnpbios.c b/src/pnpbios.c
index 4c512b6..b07b585 100644
--- a/src/pnpbios.c
+++ b/src/pnpbios.c
@@ -99,5 +99,5 @@
 
     PNPHEADER.real_ip = (u32)entry_pnp_real - BUILD_BIOS_ADDR;
     PNPHEADER.prot_ip = (u32)entry_pnp_prot - BUILD_BIOS_ADDR;
-    PNPHEADER.checksum = -checksum((u8*)&PNPHEADER, sizeof(PNPHEADER));
+    PNPHEADER.checksum = -checksum(&PNPHEADER, sizeof(PNPHEADER));
 }
diff --git a/src/util.c b/src/util.c
index 2c543a4..2c925fe 100644
--- a/src/util.c
+++ b/src/util.c
@@ -101,18 +101,18 @@
 
 // Sum the bytes in the specified area.
 u8
-checksum_far(u16 buf_seg, u8 *buf_far, u32 len)
+checksum_far(u16 buf_seg, void *buf_far, u32 len)
 {
     SET_SEG(ES, buf_seg);
     u32 i;
     u8 sum = 0;
     for (i=0; i<len; i++)
-        sum += GET_VAR(ES, buf_far[i]);
+        sum += GET_VAR(ES, ((u8*)buf_far)[i]);
     return sum;
 }
 
 u8
-checksum(u8 *buf, u32 len)
+checksum(void *buf, u32 len)
 {
     return checksum_far(GET_SEG(SS), buf, len);
 }
diff --git a/src/util.h b/src/util.h
index 0c90f49..3a6347d 100644
--- a/src/util.h
+++ b/src/util.h
@@ -67,8 +67,8 @@
 
 // util.c
 inline u32 stack_hop(u32 eax, u32 edx, u32 ecx, void *func);
-u8 checksum_far(u16 buf_seg, u8 *buf_far, u32 len);
-u8 checksum(u8 *buf, u32 len);
+u8 checksum_far(u16 buf_seg, void *buf_far, u32 len);
+u8 checksum(void *buf, u32 len);
 void *memset(void *s, int c, size_t n);
 void *memcpy(void *d1, const void *s1, size_t len);
 inline void memcpy_far(u16 d_seg, void *d_far
