diff --git a/82802ab.c b/82802ab.c
index b2e8a49..c9ec9ae 100644
--- a/82802ab.c
+++ b/82802ab.c
@@ -26,9 +26,7 @@
  *  - Order number: 290658-004
  */
 
-#include <stdio.h>
 #include <string.h>
-#include <stdint.h>
 #include "flash.h"
 
 // I need that Berkeley bit-map printer
diff --git a/am29f040b.c b/am29f040b.c
index 2e70fa5..1f08e77 100644
--- a/am29f040b.c
+++ b/am29f040b.c
@@ -18,8 +18,6 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
  */
 
-#include <stdio.h>
-#include <stdint.h>
 #include "flash.h"
 
 static __inline__ int erase_sector_29f040b(chipaddr bios,
diff --git a/board_enable.c b/board_enable.c
index f6a12ce..90c23bc 100644
--- a/board_enable.c
+++ b/board_enable.c
@@ -24,9 +24,6 @@
  * Contains the board specific flash enables.
  */
 
-#include <stdio.h>
-#include <pci/pci.h>
-#include <stdint.h>
 #include <string.h>
 #include <fcntl.h>
 #include "flash.h"
diff --git a/cbtable.c b/cbtable.c
index 38e5f8d..4bcfa88 100644
--- a/cbtable.c
+++ b/cbtable.c
@@ -21,11 +21,8 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
  */
 
-#include <stdio.h>
-#include <stdint.h>
 #include <stdlib.h>
 #include <fcntl.h>
-#include <unistd.h>
 #include <sys/types.h>
 #include <string.h>
 #include <errno.h>
diff --git a/chipset_enable.c b/chipset_enable.c
index 220982f..97229ce 100644
--- a/chipset_enable.c
+++ b/chipset_enable.c
@@ -25,14 +25,11 @@
 
 #define _LARGEFILE64_SOURCE
 
-#include <stdio.h>
-#include <pci/pci.h>
 #include <stdlib.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <sys/mman.h>
 #include <fcntl.h>
-#include <unistd.h>
 #include "flash.h"
 
 unsigned long flashbase = 0;
diff --git a/coreboot_tables.h b/coreboot_tables.h
index 2eaff08..d328321 100644
--- a/coreboot_tables.h
+++ b/coreboot_tables.h
@@ -48,22 +48,6 @@
 	uint32_t hi;
 };
 
-static inline uint64_t unpack_lb64(struct lb_uint64 value)
-{
-	uint64_t result;
-	result = value.hi;
-	result = (result << 32) + value.lo;
-	return result;
-}
-
-static inline struct lb_uint64 pack_lb64(uint64_t value)
-{
-	struct lb_uint64 result;
-	result.lo = (value >> 0) & 0xffffffff;
-	result.hi = (value >> 32) & 0xffffffff;
-	return result;
-}
-
 struct lb_header {
 	uint8_t signature[4];	/* LBIO */
 	uint32_t header_bytes;
@@ -142,76 +126,4 @@
 	uint64_t forward;
 };
 
-/* The following structures are for the cmos definitions table */
-#define LB_TAG_CMOS_OPTION_TABLE 200
-/* cmos header record */
-struct cmos_option_table {
-	uint32_t tag;		/* CMOS definitions table type */
-	uint32_t size;		/* size of the entire table */
-	uint32_t header_length;	/* length of header */
-};
-
-/* cmos entry record
-        This record is variable length.  The name field may be
-        shorter than CMOS_MAX_NAME_LENGTH. The entry may start
-        anywhere in the byte, but can not span bytes unless it
-        starts at the beginning of the byte and the length is
-        fills complete bytes.
-*/
-#define LB_TAG_OPTION 201
-struct cmos_entries {
-	uint32_t tag;		/* entry type */
-	uint32_t size;		/* length of this record */
-	uint32_t bit;		/* starting bit from start of image */
-	uint32_t length;	/* length of field in bits */
-	uint32_t config;	/* e=enumeration, h=hex, r=reserved */
-	uint32_t config_id;	/* a number linking to an enumeration record */
-#define CMOS_MAX_NAME_LENGTH 32
-	uint8_t name[CMOS_MAX_NAME_LENGTH];	/* name of entry in ascii, 
-						   variable length int aligned */
-};
-
-/* cmos enumerations record
-        This record is variable length.  The text field may be
-        shorter than CMOS_MAX_TEXT_LENGTH.
-*/
-#define LB_TAG_OPTION_ENUM 202
-struct cmos_enums {
-	uint32_t tag;		/* enumeration type */
-	uint32_t size;		/* length of this record */
-	uint32_t config_id;	/* a number identifying the config id */
-	uint32_t value;		/* the value associated with the text */
-#define CMOS_MAX_TEXT_LENGTH 32
-	uint8_t text[CMOS_MAX_TEXT_LENGTH];	/* enum description in ascii, 
-						   variable length int aligned */
-};
-
-/* cmos defaults record
-        This record contains default settings for the cmos ram.
-*/
-#define LB_TAG_OPTION_DEFAULTS 203
-struct cmos_defaults {
-	uint32_t tag;		/* default type */
-	uint32_t size;		/* length of this record */
-	uint32_t name_length;	/* length of the following name field */
-	uint8_t name[CMOS_MAX_NAME_LENGTH];	/* name identifying the default */
-#define CMOS_IMAGE_BUFFER_SIZE 128
-	uint8_t default_set[CMOS_IMAGE_BUFFER_SIZE];	/* default settings */
-};
-
-#define LB_TAG_OPTION_CHECKSUM 204
-struct cmos_checksum {
-	uint32_t tag;
-	uint32_t size;
-	/* In practice everything is byte aligned, but things are measured
-	 * in bits to be consistent.
-	 */
-	uint32_t range_start;	/* First bit that is checksummed (byte aligned) */
-	uint32_t range_end;	/* Last bit that is checksummed (byte aligned) */
-	uint32_t location;	/* First bit of the checksum (byte aligned) */
-	uint32_t type;		/* Checksum algorithm that is used */
-#define CHECKSUM_NONE	0
-#define CHECKSUM_PCBIOS	1
-};
-
 #endif				/* COREBOOT_TABLES_H */
diff --git a/dummyflasher.c b/dummyflasher.c
index bbe19bf..c03aead 100644
--- a/dummyflasher.c
+++ b/dummyflasher.c
@@ -18,14 +18,12 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
  */
 
-#include <stdint.h>
 #include <string.h>
 #include <stdlib.h>
 #include <fcntl.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <errno.h>
-#include <pci/pci.h>
 #include "flash.h"
 
 int dummy_init(void)
diff --git a/en29f002a.c b/en29f002a.c
index 461ffeb..9997581 100644
--- a/en29f002a.c
+++ b/en29f002a.c
@@ -26,8 +26,6 @@
  * EN29LV040(A) has 1C,4F and uses short F0 reset sequence
  */
 
-#include <stdio.h>
-#include <stdint.h>
 #include "flash.h"
 
 int probe_en29f512(struct flashchip *flash)
diff --git a/flash.h b/flash.h
index 2a9b9bb..31f4bfd 100644
--- a/flash.h
+++ b/flash.h
@@ -548,13 +548,6 @@
 void myusec_delay(int time);
 void myusec_calibrate_delay(void);
 
-/* PCI handling for board/chipset_enable */
-struct pci_access *pacc;
-struct pci_dev *pci_dev_find_filter(struct pci_filter filter);
-struct pci_dev *pci_dev_find(uint16_t vendor, uint16_t device);
-struct pci_dev *pci_card_find(uint16_t vendor, uint16_t device,
-			      uint16_t card_vendor, uint16_t card_device);
-
 /* pcidev.c */
 #define PCI_OK 0
 #define PCI_NT 1    /* Not tested */
@@ -607,6 +600,10 @@
 void physunmap(void *virt_addr, size_t len);
 
 /* internal.c */
+struct pci_dev *pci_dev_find_filter(struct pci_filter filter);
+struct pci_dev *pci_dev_find(uint16_t vendor, uint16_t device);
+struct pci_dev *pci_card_find(uint16_t vendor, uint16_t device,
+			      uint16_t card_vendor, uint16_t card_device);
 void get_io_perms(void);
 int internal_init(void);
 int internal_shutdown(void);
diff --git a/flashrom.c b/flashrom.c
index 1db3b27..116d55c 100644
--- a/flashrom.c
+++ b/flashrom.c
@@ -24,8 +24,6 @@
 #include <fcntl.h>
 #include <sys/types.h>
 #include <sys/stat.h>
-#include <unistd.h>
-#include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
 #include <getopt.h>
diff --git a/ichspi.c b/ichspi.c
index a3bb184..f53b31f 100644
--- a/ichspi.c
+++ b/ichspi.c
@@ -32,11 +32,8 @@
  *
  */
 
-#include <stdio.h>
 #include <string.h>
-#include <stdint.h>
 #include <sys/mman.h>
-#include <pci/pci.h>
 #include "flash.h"
 #include "spi.h"
 
diff --git a/internal.c b/internal.c
index 653783c..a9829a8 100644
--- a/internal.c
+++ b/internal.c
@@ -25,15 +25,12 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <errno.h>
-#include <pci/pci.h>
 #include "flash.h"
 
 #if defined(__FreeBSD__) || defined(__DragonFly__)
 int io_fd;
 #endif
 
-struct pci_access *pacc;	/* For board and chipset_enable */
-
 struct pci_dev *pci_dev_find_filter(struct pci_filter filter)
 {
 	struct pci_dev *temp;
diff --git a/it87spi.c b/it87spi.c
index c2f42ed..d0b2e22 100644
--- a/it87spi.c
+++ b/it87spi.c
@@ -23,9 +23,6 @@
  * Contains the ITE IT87* SPI specific routines
  */
 
-#include <stdio.h>
-#include <pci/pci.h>
-#include <stdint.h>
 #include <string.h>
 #include "flash.h"
 #include "spi.h"
diff --git a/jedec.c b/jedec.c
index ce7679e..aa83c46 100644
--- a/jedec.c
+++ b/jedec.c
@@ -21,8 +21,6 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
  */
 
-#include <stdio.h>
-#include <stdint.h>
 #include "flash.h"
 
 #define MAX_REFLASH_TRIES 0x10
diff --git a/layout.c b/layout.c
index 87a52ad..4326aea 100644
--- a/layout.c
+++ b/layout.c
@@ -18,11 +18,9 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
  */
 
-#include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <ctype.h>
-#include <stdint.h>
 #include "flash.h"
 
 char *mainboard_vendor = NULL;
diff --git a/mx29f002.c b/mx29f002.c
index 20d8418..faff6f8 100644
--- a/mx29f002.c
+++ b/mx29f002.c
@@ -18,8 +18,6 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
  */
 
-#include <stdio.h>
-#include <stdint.h>
 #include "flash.h"
 
 int probe_29f002(struct flashchip *flash)
diff --git a/pm49fl00x.c b/pm49fl00x.c
index 5e96ddc..8129654 100644
--- a/pm49fl00x.c
+++ b/pm49fl00x.c
@@ -20,7 +20,6 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
  */
 
-#include <stdio.h>
 #include "flash.h"
 
 extern int exclude_start_page, exclude_end_page;
diff --git a/sb600spi.c b/sb600spi.c
index 2ed1dd0..eaf92d2 100644
--- a/sb600spi.c
+++ b/sb600spi.c
@@ -20,11 +20,8 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
  */
 
-#include <stdio.h>
 #include <string.h>
-#include <stdint.h>
 #include <sys/mman.h>
-#include <pci/pci.h>
 #include "flash.h"
 #include "spi.h"
 
diff --git a/sharplhf00l04.c b/sharplhf00l04.c
index c59203d..1aeb2f3 100644
--- a/sharplhf00l04.c
+++ b/sharplhf00l04.c
@@ -18,7 +18,6 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
  */
 
-#include <stdio.h>
 #include <stdlib.h>
 #include "flash.h"
 
diff --git a/spi.c b/spi.c
index 71cf004..fa29fb6 100644
--- a/spi.c
+++ b/spi.c
@@ -22,9 +22,6 @@
  * Contains the generic SPI framework
  */
 
-#include <stdio.h>
-#include <pci/pci.h>
-#include <stdint.h>
 #include <string.h>
 #include "flash.h"
 #include "spi.h"
diff --git a/sst28sf040.c b/sst28sf040.c
index afa4191..806497a 100644
--- a/sst28sf040.c
+++ b/sst28sf040.c
@@ -19,8 +19,6 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
  */
 
-#include <stdio.h>
-#include <stdint.h>
 #include "flash.h"
 
 #define AUTO_PG_ERASE1		0x20
diff --git a/sst49lf040.c b/sst49lf040.c
index a610092..1147c92 100644
--- a/sst49lf040.c
+++ b/sst49lf040.c
@@ -18,7 +18,6 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
  */
 
-#include <stdio.h>
 #include "flash.h"
 
 int erase_49lf040(struct flashchip *flash)
diff --git a/sst49lfxxxc.c b/sst49lfxxxc.c
index d744cca..896564f 100644
--- a/sst49lfxxxc.c
+++ b/sst49lfxxxc.c
@@ -22,10 +22,7 @@
 #include <errno.h>
 #include <fcntl.h>
 #include <sys/mman.h>
-#include <unistd.h>
-#include <stdio.h>
 #include <stdlib.h>
-#include <stdint.h>
 #include "flash.h"
 
 #define SECTOR_ERASE		0x30
diff --git a/sst_fwhub.c b/sst_fwhub.c
index 6abff0c..5fbacdd 100644
--- a/sst_fwhub.c
+++ b/sst_fwhub.c
@@ -20,7 +20,6 @@
 
 /* Adapted from the Intel FW hub stuff for 82802ax parts. */
 
-#include <stdio.h>
 #include "flash.h"
 
 // I need that Berkeley bit-map printer
diff --git a/stm50flw0x0x.c b/stm50flw0x0x.c
index 0e39bce..b2469f3 100644
--- a/stm50flw0x0x.c
+++ b/stm50flw0x0x.c
@@ -26,9 +26,7 @@
  * ST M50FLW080B (not yet tested)
  */
 
-#include <stdio.h>
 #include <string.h>
-#include <stdint.h>
 #include "flash.h"
 
 void protect_stm50flw0x0x(chipaddr bios)
diff --git a/udelay.c b/udelay.c
index 516e208..4160300 100644
--- a/udelay.c
+++ b/udelay.c
@@ -19,7 +19,6 @@
  */
 
 #include <sys/time.h>
-#include <stdio.h>
 #include "flash.h"
 
 // count to a billion. Time it. If it's < 1 sec, count to 10B, etc.
diff --git a/w39v040c.c b/w39v040c.c
index f5d7a4e..097d655 100644
--- a/w39v040c.c
+++ b/w39v040c.c
@@ -18,7 +18,6 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
  */
 
-#include <stdio.h>
 #include "flash.h"
 
 int probe_w39v040c(struct flashchip *flash)
diff --git a/w39v080fa.c b/w39v080fa.c
index 8ebd263..36abbfd 100644
--- a/w39v080fa.c
+++ b/w39v080fa.c
@@ -18,7 +18,6 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
  */
 
-#include <stdio.h>
 #include "flash.h"
 
 int probe_winbond_fwhub(struct flashchip *flash)
diff --git a/w49f002u.c b/w49f002u.c
index fcac643..1c4177a 100644
--- a/w49f002u.c
+++ b/w49f002u.c
@@ -18,7 +18,6 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
  */
 
-#include <stdio.h>
 #include "flash.h"
 
 int write_49f002(struct flashchip *flash, uint8_t *buf)
diff --git a/wbsio_spi.c b/wbsio_spi.c
index e2cc4b1..9b82687 100644
--- a/wbsio_spi.c
+++ b/wbsio_spi.c
@@ -17,9 +17,6 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
  */
 
-#include <stdio.h>
-#include <pci/pci.h>
-#include <stdint.h>
 #include <string.h>
 #include "flash.h"
 #include "spi.h"
