diff --git a/82802ab.c b/82802ab.c
index dc6ffbe..a8598d5 100644
--- a/82802ab.c
+++ b/82802ab.c
@@ -25,10 +25,7 @@
 
 #include <stdio.h>
 #include <stdint.h>
-
 #include "flash.h"
-#include "82802ab.h"
-#include "debug.h"
 
 void toggle_ready_82802ab(volatile uint8_t *dst)
 {
diff --git a/82802ab.h b/82802ab.h
deleted file mode 100644
index cc7eb50..0000000
--- a/82802ab.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef __82802AB_H__
-#define __82802AB_H__ 1
-
-extern int probe_82802ab(struct flashchip *flash);
-extern int erase_82802ab(struct flashchip *flash);
-extern int write_82802ab(struct flashchip *flash, uint8_t *buf);
-
-#endif				/* !__82802AB_H__ */
diff --git a/am29f040b.c b/am29f040b.c
index cba4a28..e7f318b 100644
--- a/am29f040b.c
+++ b/am29f040b.c
@@ -25,8 +25,6 @@
 #include <stdio.h>
 #include <stdint.h>
 #include "flash.h"
-#include "jedec.h"
-#include "debug.h"
 
 static __inline__ int erase_sector_29f040b(volatile uint8_t *bios,
 					   unsigned long address)
diff --git a/am29f040b.h b/am29f040b.h
deleted file mode 100644
index 99efb67..0000000
--- a/am29f040b.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef __AM29F040B_H__
-#define __AM29F040B_H__ 1
-
-extern int probe_29f040b(struct flashchip *flash);
-extern int erase_29f040b(struct flashchip *flash);
-extern int write_29f040b(struct flashchip *flash, uint8_t *buf);
-
-#endif				/* !__AM29F040B_H__ */
diff --git a/board_enable.c b/board_enable.c
index 429c86b..983fd18 100644
--- a/board_enable.c
+++ b/board_enable.c
@@ -19,9 +19,7 @@
 #include <pci/pci.h>
 #include <stdint.h>
 #include <string.h>
-
 #include "flash.h"
-#include "debug.h"
 
 /*
  * Helper functions for many Winbond superIOs of the w836xx range.
diff --git a/chipset_enable.c b/chipset_enable.c
index e20e561..e3b0250 100644
--- a/chipset_enable.c
+++ b/chipset_enable.c
@@ -14,9 +14,7 @@
 #include <stdio.h>
 #include <pci/pci.h>
 #include <stdlib.h>
-
 #include "flash.h"
-#include "debug.h"
 
 static int enable_flash_ali_m1533(struct pci_dev *dev, char *name)
 {
diff --git a/debug.h b/debug.h
deleted file mode 100644
index 0614747..0000000
--- a/debug.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef __DEBUG_H__
-#define __DEBUG_H__ 1
-
-//#define printf_debug(x...) printf(x)
-
-extern int verbose;
-
-#define printf_debug(x...) { if(verbose) printf(x); }
-
-#endif
diff --git a/flash.h b/flash.h
index 62d3f40..b4c5cf4 100644
--- a/flash.h
+++ b/flash.h
@@ -27,9 +27,9 @@
 #if defined(__GLIBC__)
 #include <sys/io.h>
 #endif
-
 #include <unistd.h>
 #include <stdint.h>
+#include <stdio.h>
 
 struct flashchip {
 	char *name;
@@ -164,6 +164,103 @@
 
 extern int fd_mem;
 
-int map_flash_registers(struct flashchip *flash); /* flashrom.c */
+/* debug.c */
+extern int verbose;
+#define printf_debug(x...) { if (verbose) printf(x); }
+
+/* flashrom.c */
+int map_flash_registers(struct flashchip *flash);
+
+/* layout.c */
+int show_id(uint8_t *bios, int size);
+int read_romlayout(char *name);
+int find_romentry(char *name);
+int handle_romentries(uint8_t *buffer, uint8_t *content);
+
+/* lbtable.c */
+int linuxbios_init(void);
+extern char *lb_part, *lb_vendor;
+
+/* 82802ab.c */
+extern int probe_82802ab(struct flashchip *flash);
+extern int erase_82802ab(struct flashchip *flash);
+extern int write_82802ab(struct flashchip *flash, uint8_t *buf);
+
+/* am29f040b.c */
+extern int probe_29f040b(struct flashchip *flash);
+extern int erase_29f040b(struct flashchip *flash);
+extern int write_29f040b(struct flashchip *flash, uint8_t *buf);
+
+/* jedec.c */
+extern void toggle_ready_jedec(volatile uint8_t *dst);
+extern void data_polling_jedec(volatile uint8_t *dst, uint8_t data);
+extern void unprotect_jedec(volatile uint8_t *bios);
+extern void protect_jedec(volatile uint8_t *bios);
+int write_byte_program_jedec(volatile uint8_t *bios, uint8_t *src,
+			     volatile uint8_t *dst);
+extern int probe_jedec(struct flashchip *flash);
+extern int erase_chip_jedec(struct flashchip *flash);
+extern int write_jedec(struct flashchip *flash, uint8_t *buf);
+extern int erase_sector_jedec(volatile uint8_t *bios, unsigned int page);
+extern int erase_block_jedec(volatile uint8_t *bios, unsigned int page);
+extern int write_sector_jedec(volatile uint8_t *bios, uint8_t *src,
+			      volatile uint8_t *dst, unsigned int page_size);
+
+/* m29f400bt.c */
+extern int probe_m29f400bt(struct flashchip *flash);
+extern int erase_m29f400bt(struct flashchip *flash);
+extern int block_erase_m29f400bt(volatile uint8_t *bios,
+				 volatile uint8_t *dst);
+extern int write_m29f400bt(struct flashchip *flash, uint8_t *buf);
+extern int write_linuxbios_m29f400bt(struct flashchip *flash, uint8_t *buf);
+extern void toggle_ready_m29f400bt(volatile uint8_t *dst);
+extern void data_polling_m29f400bt(volatile uint8_t *dst, uint8_t data);
+extern void protect_m29f400bt(volatile uint8_t *bios);
+extern void write_page_m29f400bt(volatile uint8_t *bios, uint8_t *src,
+				 volatile uint8_t *dst, int page_size);
+
+/* mx29f002.c */
+extern int probe_29f002(struct flashchip *flash);
+extern int erase_29f002(struct flashchip *flash);
+extern int write_29f002(struct flashchip *flash, uint8_t *buf);
+
+/* pm49fl004.c */
+extern int probe_49fl004(struct flashchip *flash);
+extern int erase_49fl004(struct flashchip *flash);
+extern int write_49fl004(struct flashchip *flash, uint8_t *buf);
+
+/* sharplhf00l04.c */
+extern int probe_lhf00l04(struct flashchip *flash);
+extern int erase_lhf00l04(struct flashchip *flash);
+extern int write_lhf00l04(struct flashchip *flash, uint8_t *buf);
+extern void toggle_ready_lhf00l04(volatile uint8_t *dst);
+extern void data_polling_lhf00l04(volatile uint8_t *dst, uint8_t data);
+extern void protect_lhf00l04(volatile uint8_t *bios);
+
+/* sst28sf040.c */
+extern int probe_28sf040(struct flashchip *flash);
+extern int erase_28sf040(struct flashchip *flash);
+extern int write_28sf040(struct flashchip *flash, uint8_t *buf);
+
+/* sst39sf020.c */
+extern int probe_39sf020(struct flashchip *flash);
+extern int write_39sf020(struct flashchip *flash, uint8_t *buf);
+
+/* sst49lf040.c */
+extern int erase_49lf040(struct flashchip *flash);
+extern int write_49lf040(struct flashchip *flash, uint8_t *buf);
+
+/* sst49lfxxxc.c */
+extern int probe_49lfxxxc(struct flashchip *flash);
+extern int erase_49lfxxxc(struct flashchip *flash);
+extern int write_49lfxxxc(struct flashchip *flash, uint8_t *buf);
+
+/* sst_fwhub.c */
+extern int probe_sst_fwhub(struct flashchip *flash);
+extern int erase_sst_fwhub(struct flashchip *flash);
+extern int write_sst_fwhub(struct flashchip *flash, uint8_t *buf);
+
+/* w49f002u.c */
+extern int write_49f002(struct flashchip *flash, uint8_t *buf);
 
 #endif				/* !__FLASH_H__ */
diff --git a/flashchips.c b/flashchips.c
index 2deca02..2b486be 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -22,22 +22,9 @@
  */
 
 #include "flash.h"
-#include "jedec.h"
-#include "m29f400bt.h"
-#include "82802ab.h"
 #ifndef DISABLE_DOC
 #include "msys_doc.h"
 #endif
-#include "am29f040b.h"
-#include "sst28sf040.h"
-#include "sst49lfxxxc.h"
-#include "w49f002u.h"
-#include "sst39sf020.h"
-#include "sst49lf040.h"
-#include "pm49fl004.h"
-#include "mx29f002.h"
-#include "sharplhf00l04.h"
-#include "sst_fwhub.h"
 
 struct flashchip flashchips[] = {
 	{"Am29F040B",	AMD_ID, 	AM_29F040B,	512, 64 * 1024,
diff --git a/flashrom.c b/flashrom.c
index 751c19c..8423523 100644
--- a/flashrom.c
+++ b/flashrom.c
@@ -36,7 +36,6 @@
 #include <stdlib.h>
 #include <getopt.h>
 #include <pci/pci.h>
-
 /* for iopl */
 #if defined (__sun) && (defined(__i386) || defined(__amd64))
 #include <strings.h>
@@ -44,11 +43,7 @@
 #include <sys/psw.h>
 #include <asm/sunddi.h>
 #endif
-
 #include "flash.h"
-#include "lbtable.h"
-#include "layout.h"
-#include "debug.h"
 
 char *chip_to_probe = NULL;
 struct pci_access *pacc;	/* For board and chipset_enable */
diff --git a/jedec.c b/jedec.c
index 0c34e17..0a27eda 100644
--- a/jedec.c
+++ b/jedec.c
@@ -28,8 +28,6 @@
 #include <stdio.h>
 #include <stdint.h>
 #include "flash.h"
-#include "jedec.h"
-#include "debug.h"
 
 #define MAX_REFLASH_TRIES 0x10
 
diff --git a/jedec.h b/jedec.h
deleted file mode 100644
index 53135a5..0000000
--- a/jedec.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef __JEDEC_H__
-#define __JEDEC_H__ 1
-
-extern void toggle_ready_jedec(volatile uint8_t *dst);
-extern void data_polling_jedec(volatile uint8_t *dst, uint8_t data);
-extern void unprotect_jedec(volatile uint8_t *bios);
-extern void protect_jedec(volatile uint8_t *bios);
-int write_byte_program_jedec(volatile uint8_t *bios, uint8_t *src,
-			     volatile uint8_t *dst);
-extern int probe_jedec(struct flashchip *flash);
-extern int erase_chip_jedec(struct flashchip *flash);
-extern int write_jedec(struct flashchip *flash, uint8_t *buf);
-extern int erase_sector_jedec(volatile uint8_t *bios, unsigned int page);
-extern int erase_block_jedec(volatile uint8_t *bios, unsigned int page);
-extern int write_sector_jedec(volatile uint8_t *bios, uint8_t *src,
-			      volatile uint8_t *dst, unsigned int page_size);
-
-#endif				/* !__JEDEC_H__ */
diff --git a/layout.c b/layout.c
index 6dbbd9c..62715bd 100644
--- a/layout.c
+++ b/layout.c
@@ -2,9 +2,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <stdint.h>
-#include "layout.h"
-#include "lbtable.h"
-#include "debug.h"
+#include "flash.h"
 
 char *mainboard_vendor = NULL;
 char *mainboard_part = NULL;
diff --git a/layout.h b/layout.h
deleted file mode 100644
index b717d34..0000000
--- a/layout.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef __LAYOUT_H__
-#define __LAYOUT_H__ 1
-
-int show_id(uint8_t *bios, int size);
-int read_romlayout(char *name);
-int find_romentry(char *name);
-int handle_romentries(uint8_t *buffer, uint8_t *content);
-
-#endif				/* !__LAYOUT_H__ */
diff --git a/lbtable.c b/lbtable.c
index dd005e2..004e61c 100644
--- a/lbtable.c
+++ b/lbtable.c
@@ -32,7 +32,6 @@
 #include <sys/mman.h>
 #include "flash.h"
 #include "linuxbios_tables.h"
-#include "debug.h"
 
 char *lb_part = NULL, *lb_vendor = NULL;
 
diff --git a/lbtable.h b/lbtable.h
deleted file mode 100644
index ed9768c..0000000
--- a/lbtable.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef __LBTABLE_H__
-#define __LBTABLE_H__ 1
-
-int linuxbios_init(void);
-
-extern char *lb_part, *lb_vendor;
-
-#endif
diff --git a/m29f400bt.c b/m29f400bt.c
index 809f33c..e33c106 100644
--- a/m29f400bt.c
+++ b/m29f400bt.c
@@ -24,8 +24,6 @@
  */
 
 #include "flash.h"
-#include "m29f400bt.h"
-#include "debug.h"
 
 void toggle_ready_m29f400bt(volatile uint8_t *dst)
 {
diff --git a/m29f400bt.h b/m29f400bt.h
deleted file mode 100644
index 04589bb..0000000
--- a/m29f400bt.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef __M29F400BT_H__
-#define __M29F400BT_H__ 1
-
-#include <stdio.h>
-
-extern int probe_m29f400bt(struct flashchip *flash);
-extern int erase_m29f400bt(struct flashchip *flash);
-extern int block_erase_m29f400bt(volatile uint8_t *bios,
-				 volatile uint8_t *dst);
-extern int write_m29f400bt(struct flashchip *flash, uint8_t *buf);
-extern int write_linuxbios_m29f400bt(struct flashchip *flash, uint8_t *buf);
-
-extern void toggle_ready_m29f400bt(volatile uint8_t *dst);
-extern void data_polling_m29f400bt(volatile uint8_t *dst, uint8_t data);
-extern void protect_m29f400bt(volatile uint8_t *bios);
-extern void write_page_m29f400bt(volatile uint8_t *bios, uint8_t *src,
-				 volatile uint8_t *dst, int page_size);
-
-#endif				/* !__M29F400BT_H__ */
diff --git a/msys_doc.c b/msys_doc.c
index 64bc87e..b91c73a 100644
--- a/msys_doc.c
+++ b/msys_doc.c
@@ -23,7 +23,6 @@
 #include <unistd.h>
 #include "flash.h"
 #include "msys_doc.h"
-#include "debug.h"
 
 static int doc_wait(volatile uint8_t *bios, int timeout);
 static uint8_t doc_read_chipid(volatile uint8_t *bios);
diff --git a/mx29f002.c b/mx29f002.c
index db5f31b..31e924a 100644
--- a/mx29f002.c
+++ b/mx29f002.c
@@ -27,9 +27,6 @@
 #include <stdio.h>
 #include <stdint.h>
 #include "flash.h"
-#include "jedec.h"
-#include "mx29f002.h"
-#include "debug.h"
 
 int probe_29f002(struct flashchip *flash)
 {
diff --git a/mx29f002.h b/mx29f002.h
deleted file mode 100644
index d180fae..0000000
--- a/mx29f002.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef __MX29F002_H__
-#define __MX29F002_H__ 1
-
-extern int probe_29f002(struct flashchip *flash);
-extern int erase_29f002(struct flashchip *flash);
-extern int write_29f002(struct flashchip *flash, uint8_t *buf);
-
-#endif				/* !__MX29F002_H__ */
diff --git a/pm49fl004.c b/pm49fl004.c
index b50fa25..42442cf 100644
--- a/pm49fl004.c
+++ b/pm49fl004.c
@@ -24,8 +24,6 @@
 
 #include <stdio.h>
 #include "flash.h"
-#include "jedec.h"
-#include "pm49fl004.h"
 
 extern int exclude_start_page, exclude_end_page;
 
diff --git a/pm49fl004.h b/pm49fl004.h
deleted file mode 100644
index 2abd7de..0000000
--- a/pm49fl004.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef __PM49FL004_H__
-#define __PM49FL004_H__ 1
-
-extern int probe_49fl004(struct flashchip *flash);
-extern int erase_49fl004(struct flashchip *flash);
-extern int write_49fl004(struct flashchip *flash, uint8_t *buf);
-
-#endif
diff --git a/sharplhf00l04.c b/sharplhf00l04.c
index 660142d..2616611 100644
--- a/sharplhf00l04.c
+++ b/sharplhf00l04.c
@@ -24,10 +24,7 @@
 
 #include <stdio.h>
 #include <stdlib.h>
-
 #include "flash.h"
-#include "sharplhf00l04.h"
-#include "debug.h"
 
 void toggle_ready_lhf00l04(volatile uint8_t *dst)
 {
diff --git a/sharplhf00l04.h b/sharplhf00l04.h
deleted file mode 100644
index b76b4ae..0000000
--- a/sharplhf00l04.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef __SHARPLHF00L04_H__
-#define __SHARPLHF00L04_H__ 1
-
-extern int probe_lhf00l04(struct flashchip *flash);
-extern int erase_lhf00l04(struct flashchip *flash);
-extern int write_lhf00l04(struct flashchip *flash, uint8_t *buf);
-extern void toggle_ready_lhf00l04(volatile uint8_t *dst);
-extern void data_polling_lhf00l04(volatile uint8_t *dst, uint8_t data);
-extern void protect_lhf00l04(volatile uint8_t *bios);
-
-#endif				/* !__SHARPLHF00L04_H__ */
diff --git a/sst28sf040.c b/sst28sf040.c
index c8f71f8..80412c5 100644
--- a/sst28sf040.c
+++ b/sst28sf040.c
@@ -28,8 +28,6 @@
 #include <stdio.h>
 #include <stdint.h>
 #include "flash.h"
-#include "jedec.h"
-#include "debug.h"
 
 #define AUTO_PG_ERASE1		0x20
 #define AUTO_PG_ERASE2		0xD0
diff --git a/sst28sf040.h b/sst28sf040.h
deleted file mode 100644
index 027e845..0000000
--- a/sst28sf040.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef __SST28SF040_H__
-#define __SST28SF040_H__
-
-extern int probe_28sf040(struct flashchip *flash);
-extern int erase_28sf040(struct flashchip *flash);
-extern int write_28sf040(struct flashchip *flash, uint8_t *buf);
-
-#endif				/* !__SST28SF040_H__ */
diff --git a/sst39sf020.c b/sst39sf020.c
index 1277f10..bfcead6 100644
--- a/sst39sf020.c
+++ b/sst39sf020.c
@@ -29,8 +29,6 @@
 #include <stdio.h>
 #include <stdint.h>
 #include "flash.h"
-#include "jedec.h"
-#include "sst39sf020.h"
 
 #define AUTO_PG_ERASE1		0x20
 #define AUTO_PG_ERASE2		0xD0
diff --git a/sst39sf020.h b/sst39sf020.h
deleted file mode 100644
index aea62cc..0000000
--- a/sst39sf020.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef __SST39SF020_H__
-#define __SST39SF020_H__ 1
-
-extern int probe_39sf020(struct flashchip *flash);
-extern int write_39sf020(struct flashchip *flash, uint8_t *buf);
-
-#endif				/* !__SST39SF020_H__ */
diff --git a/sst49lf040.c b/sst49lf040.c
index 682c2fe..884895e 100644
--- a/sst49lf040.c
+++ b/sst49lf040.c
@@ -26,8 +26,6 @@
  */
 #include <stdio.h>
 #include "flash.h"
-#include "jedec.h"
-#include "sst49lf040.h"
 
 int erase_49lf040(struct flashchip *flash)
 {
diff --git a/sst49lf040.h b/sst49lf040.h
deleted file mode 100644
index 3fefe57..0000000
--- a/sst49lf040.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef __SST49LF040_H__
-#define __SST49LF040_H__ 1
-
-extern int erase_49lf040(struct flashchip *flash);
-extern int write_49lf040(struct flashchip *flash, uint8_t *buf);
-
-#endif				/* !__SST49LF040_H__ */
diff --git a/sst49lfxxxc.c b/sst49lfxxxc.c
index edb5493..8480877 100644
--- a/sst49lfxxxc.c
+++ b/sst49lfxxxc.c
@@ -32,10 +32,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
-
 #include "flash.h"
-#include "jedec.h"
-#include "debug.h"
 
 #define SECTOR_ERASE		0x30
 #define BLOCK_ERASE		0x20
diff --git a/sst49lfxxxc.h b/sst49lfxxxc.h
deleted file mode 100644
index 8768b1f..0000000
--- a/sst49lfxxxc.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef __SST49LFXXXC_H__
-#define __SST49LFXXXC_H__
-
-extern int probe_49lfxxxc(struct flashchip *flash);
-extern int erase_49lfxxxc(struct flashchip *flash);
-extern int write_49lfxxxc(struct flashchip *flash, uint8_t *buf);
-
-#endif				/* !__SST49LFXXXC_H__ */
diff --git a/sst_fwhub.c b/sst_fwhub.c
index e9d0104..9e4539b 100644
--- a/sst_fwhub.c
+++ b/sst_fwhub.c
@@ -21,10 +21,7 @@
  */
 
 #include <stdio.h>
-
 #include "flash.h"
-#include "jedec.h"
-#include "sst_fwhub.h"
 
 // I need that Berkeley bit-map printer
 void print_sst_fwhub_status(uint8_t status)
diff --git a/sst_fwhub.h b/sst_fwhub.h
deleted file mode 100644
index 66979bc..0000000
--- a/sst_fwhub.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef __SST_FWHUB_H__
-#define __SST_FWHUB_H__ 1
-
-extern int probe_sst_fwhub(struct flashchip *flash);
-extern int erase_sst_fwhub(struct flashchip *flash);
-extern int write_sst_fwhub(struct flashchip *flash, uint8_t *buf);
-
-#endif				/* !__SST_FWHUB_H__ */
diff --git a/udelay.c b/udelay.c
index 1d0b42f..2f032df 100644
--- a/udelay.c
+++ b/udelay.c
@@ -1,6 +1,6 @@
 #include <sys/time.h>
 #include <stdio.h>
-#include "debug.h"
+#include "flash.h"
 
 // count to a billion. Time it. If it's < 1 sec, count to 10B, etc.
 unsigned long micro = 1;
diff --git a/w49f002u.c b/w49f002u.c
index 2549501..66111fd 100644
--- a/w49f002u.c
+++ b/w49f002u.c
@@ -28,8 +28,6 @@
 
 #include <stdio.h>
 #include "flash.h"
-#include "jedec.h"
-#include "w49f002u.h"
 
 int write_49f002(struct flashchip *flash, uint8_t *buf)
 {
diff --git a/w49f002u.h b/w49f002u.h
deleted file mode 100644
index 1ea8377..0000000
--- a/w49f002u.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __W49F002U_H__
-#define __W49F002U_H__ 1
-
-extern int write_49f002(struct flashchip *flash, uint8_t *buf);
-
-#endif				/* !__W49F002U_H__ */
