diff --git a/82802ab.c b/82802ab.c
index aa2ba4f..e53e788 100644
--- a/82802ab.c
+++ b/82802ab.c
@@ -24,7 +24,7 @@
 
 #include <stdbool.h>
 #include "flash.h"
-#include "chipdrivers.h"
+#include "chipdrivers/memory_bus.h"
 
 void print_status_82802ab(uint8_t status)
 {
diff --git a/en29lv640b.c b/en29lv640b.c
index b3f5897..8883a09 100644
--- a/en29lv640b.c
+++ b/en29lv640b.c
@@ -16,7 +16,7 @@
  */
 
 #include "flash.h"
-#include "chipdrivers.h"
+#include "chipdrivers/memory_bus.h"
 
 /*
  * WARNING!
diff --git a/flashchips.c b/flashchips.c
index 2b431eb..dd48f69 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -24,6 +24,7 @@
 #include "chipdrivers.h"
 #include "chipdrivers/edi.h"
 #include "chipdrivers/spi.h"
+#include "chipdrivers/memory_bus.h"
 #include "writeprotect.h"
 
 /**
diff --git a/include/chipdrivers.h b/include/chipdrivers.h
index 7fcdcfe..2dae8b5 100644
--- a/include/chipdrivers.h
+++ b/include/chipdrivers.h
@@ -28,78 +28,4 @@
 int write_opaque(struct flashctx *flash, const uint8_t *buf, unsigned int start, unsigned int len);
 int erase_opaque(struct flashctx *flash, unsigned int blockaddr, unsigned int blocklen);
 
-/* 82802ab.c */
-uint8_t wait_82802ab(struct flashctx *flash);
-int probe_82802ab(struct flashctx *flash);
-int erase_block_82802ab(struct flashctx *flash, unsigned int page, unsigned int pagesize);
-int write_82802ab(struct flashctx *flash, const uint8_t *buf, unsigned int start, unsigned int len);
-void print_status_82802ab(uint8_t status);
-int unlock_28f004s5(struct flashctx *flash);
-int unlock_lh28f008bjt(struct flashctx *flash);
-
-/* jedec.c */
-uint8_t oddparity(uint8_t val);
-void toggle_ready_jedec(const struct flashctx *flash, chipaddr dst);
-void data_polling_jedec(const struct flashctx *flash, chipaddr dst, uint8_t data);
-int probe_jedec(struct flashctx *flash);
-int probe_jedec_29gl(struct flashctx *flash);
-int write_jedec(struct flashctx *flash, const uint8_t *buf, unsigned int start, unsigned int len);
-int write_jedec_1(struct flashctx *flash, const uint8_t *buf, unsigned int start, unsigned int len);
-int erase_sector_jedec(struct flashctx *flash, unsigned int page, unsigned int pagesize);
-int erase_block_jedec(struct flashctx *flash, unsigned int page, unsigned int blocksize);
-int erase_chip_block_jedec(struct flashctx *flash, unsigned int page, unsigned int blocksize);
-
-int unlock_regspace2_uniform_32k(struct flashctx *flash);
-int unlock_regspace2_uniform_64k(struct flashctx *flash);
-int unlock_regspace2_block_eraser_0(struct flashctx *flash);
-int unlock_regspace2_block_eraser_1(struct flashctx *flash);
-int printlock_regspace2_uniform_64k(struct flashctx *flash);
-int printlock_regspace2_block_eraser_0(struct flashctx *flash);
-int printlock_regspace2_block_eraser_1(struct flashctx *flash);
-
-/* sst28sf040.c */
-int erase_chip_28sf040(struct flashctx *flash, unsigned int addr, unsigned int blocklen);
-int erase_sector_28sf040(struct flashctx *flash, unsigned int address, unsigned int sector_size);
-int write_28sf040(struct flashctx *flash, const uint8_t *buf, unsigned int start, unsigned int len);
-int unprotect_28sf040(struct flashctx *flash);
-int protect_28sf040(struct flashctx *flash);
-
-/* sst49lfxxxc.c */
-int erase_sector_49lfxxxc(struct flashctx *flash, unsigned int address, unsigned int sector_size);
-
-/* sst_fwhub.c */
-int printlock_sst_fwhub(struct flashctx *flash);
-int unlock_sst_fwhub(struct flashctx *flash);
-
-/* w39.c */
-int printlock_w39f010(struct flashctx * flash);
-int printlock_w39l010(struct flashctx * flash);
-int printlock_w39l020(struct flashctx * flash);
-int printlock_w39l040(struct flashctx * flash);
-int printlock_w39v040a(struct flashctx *flash);
-int printlock_w39v040b(struct flashctx *flash);
-int printlock_w39v040c(struct flashctx *flash);
-int printlock_w39v040fa(struct flashctx *flash);
-int printlock_w39v040fb(struct flashctx *flash);
-int printlock_w39v040fc(struct flashctx *flash);
-int printlock_w39v080a(struct flashctx *flash);
-int printlock_w39v080fa(struct flashctx *flash);
-int printlock_w39v080fa_dual(struct flashctx *flash);
-int printlock_at49f(struct flashctx *flash);
-
-/* w29ee011.c */
-int probe_w29ee011(struct flashctx *flash);
-
-/* stm50.c */
-int erase_sector_stm50(struct flashctx *flash, unsigned int block, unsigned int blocksize);
-
-/* en29lv640b.c */
-int probe_en29lv640b(struct flashctx *flash);
-int write_en29lv640b(struct flashctx *flash, const uint8_t *buf, unsigned int start, unsigned int len);
-
-/* memory_bus.c */
-int prepare_memory_access(struct flashctx *, enum preparation_steps);
-int prepare_memory_register_access(struct flashctx *, enum preparation_steps);
-void finish_memory_access(struct flashctx *);
-
 #endif /* !__CHIPDRIVERS_H__ */
diff --git a/include/chipdrivers/memory_bus.h b/include/chipdrivers/memory_bus.h
new file mode 100644
index 0000000..758fa64
--- /dev/null
+++ b/include/chipdrivers/memory_bus.h
@@ -0,0 +1,98 @@
+/*
+ * This file is part of the flashrom project.
+ *
+ * Copyright (C) 2009 Carl-Daniel Hailfinger
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef __CHIPDRIVERS_MEMORY_BUS_H__
+#define __CHIPDRIVERS_MEMORY_BUS_H__ 1
+
+#include <stdint.h>
+
+struct flashprog_flashctx;
+
+/* 82802ab.c */
+uint8_t wait_82802ab(struct flashprog_flashctx *);
+int probe_82802ab(struct flashprog_flashctx *);
+int erase_block_82802ab(struct flashprog_flashctx *, unsigned int page, unsigned int pagesize);
+int write_82802ab(struct flashprog_flashctx *, const uint8_t *buf, unsigned int start, unsigned int len);
+void print_status_82802ab(uint8_t status);
+int unlock_28f004s5(struct flashprog_flashctx *);
+int unlock_lh28f008bjt(struct flashprog_flashctx *);
+
+/* jedec.c */
+uint8_t oddparity(uint8_t val);
+void toggle_ready_jedec(const struct flashprog_flashctx *, chipaddr dst);
+void data_polling_jedec(const struct flashprog_flashctx *, chipaddr dst, uint8_t data);
+int probe_jedec(struct flashprog_flashctx *);
+int probe_jedec_29gl(struct flashprog_flashctx *);
+int write_jedec(struct flashprog_flashctx *, const uint8_t *buf, unsigned int start, unsigned int len);
+int write_jedec_1(struct flashprog_flashctx *, const uint8_t *buf, unsigned int start, unsigned int len);
+int erase_sector_jedec(struct flashprog_flashctx *, unsigned int page, unsigned int pagesize);
+int erase_block_jedec(struct flashprog_flashctx *, unsigned int page, unsigned int blocksize);
+int erase_chip_block_jedec(struct flashprog_flashctx *, unsigned int page, unsigned int blocksize);
+
+int unlock_regspace2_uniform_32k(struct flashprog_flashctx *);
+int unlock_regspace2_uniform_64k(struct flashprog_flashctx *);
+int unlock_regspace2_block_eraser_0(struct flashprog_flashctx *);
+int unlock_regspace2_block_eraser_1(struct flashprog_flashctx *);
+int printlock_regspace2_uniform_64k(struct flashprog_flashctx *);
+int printlock_regspace2_block_eraser_0(struct flashprog_flashctx *);
+int printlock_regspace2_block_eraser_1(struct flashprog_flashctx *);
+
+/* sst28sf040.c */
+int erase_chip_28sf040(struct flashprog_flashctx *, unsigned int addr, unsigned int blocklen);
+int erase_sector_28sf040(struct flashprog_flashctx *, unsigned int address, unsigned int sector_size);
+int write_28sf040(struct flashprog_flashctx *, const uint8_t *buf, unsigned int start, unsigned int len);
+int unprotect_28sf040(struct flashprog_flashctx *);
+int protect_28sf040(struct flashprog_flashctx *);
+
+/* sst49lfxxxc.c */
+int erase_sector_49lfxxxc(struct flashprog_flashctx *, unsigned int address, unsigned int sector_size);
+
+/* sst_fwhub.c */
+int printlock_sst_fwhub(struct flashprog_flashctx *);
+int unlock_sst_fwhub(struct flashprog_flashctx *);
+
+/* w39.c */
+int printlock_w39f010(struct flashprog_flashctx *);
+int printlock_w39l010(struct flashprog_flashctx *);
+int printlock_w39l020(struct flashprog_flashctx *);
+int printlock_w39l040(struct flashprog_flashctx *);
+int printlock_w39v040a(struct flashprog_flashctx *);
+int printlock_w39v040b(struct flashprog_flashctx *);
+int printlock_w39v040c(struct flashprog_flashctx *);
+int printlock_w39v040fa(struct flashprog_flashctx *);
+int printlock_w39v040fb(struct flashprog_flashctx *);
+int printlock_w39v040fc(struct flashprog_flashctx *);
+int printlock_w39v080a(struct flashprog_flashctx *);
+int printlock_w39v080fa(struct flashprog_flashctx *);
+int printlock_w39v080fa_dual(struct flashprog_flashctx *);
+int printlock_at49f(struct flashprog_flashctx *);
+
+/* w29ee011.c */
+int probe_w29ee011(struct flashprog_flashctx *);
+
+/* stm50.c */
+int erase_sector_stm50(struct flashprog_flashctx *, unsigned int block, unsigned int blocksize);
+
+/* en29lv640b.c */
+int probe_en29lv640b(struct flashprog_flashctx *);
+int write_en29lv640b(struct flashprog_flashctx *, const uint8_t *buf, unsigned int start, unsigned int len);
+
+/* memory_bus.c */
+enum preparation_steps;
+int prepare_memory_access(struct flashprog_flashctx *, enum preparation_steps);
+int prepare_memory_register_access(struct flashprog_flashctx *, enum preparation_steps);
+void finish_memory_access(struct flashprog_flashctx *);
+
+#endif /* !__CHIPDRIVERS_MEMORY_BUS_H__ */
diff --git a/jedec.c b/jedec.c
index f3dfdd0..7c8434f 100644
--- a/jedec.c
+++ b/jedec.c
@@ -20,7 +20,7 @@
  */
 
 #include "flash.h"
-#include "chipdrivers.h"
+#include "chipdrivers/memory_bus.h"
 
 #define MAX_REFLASH_TRIES 0x10
 #define MASK_FULL 0xffff
diff --git a/memory_bus.c b/memory_bus.c
index 3ca71d1..61058b9 100644
--- a/memory_bus.c
+++ b/memory_bus.c
@@ -20,7 +20,7 @@
 #include "flash.h"
 #include "programmer.h"
 
-#include "chipdrivers.h"
+#include "chipdrivers/memory_bus.h"
 
 static void *programmer_map_flash_region(const struct flashctx *flash, const char *descr,
 					 uintptr_t phys_addr, size_t len)
diff --git a/spi25.c b/spi25.c
index d1ce38e..f45f9a2 100644
--- a/spi25.c
+++ b/spi25.c
@@ -24,8 +24,8 @@
 #include <stdbool.h>
 #include "flash.h"
 #include "flashchips.h"
-#include "chipdrivers.h"
 #include "chipdrivers/spi.h"
+#include "chipdrivers/memory_bus.h"
 #include "programmer.h"
 #include "spi_command.h"
 #include "spi.h"
diff --git a/sst28sf040.c b/sst28sf040.c
index fb3fea6..6c22591 100644
--- a/sst28sf040.c
+++ b/sst28sf040.c
@@ -17,7 +17,7 @@
  */
 
 #include "flash.h"
-#include "chipdrivers.h"
+#include "chipdrivers/memory_bus.h"
 
 #define AUTO_PG_ERASE1		0x20
 #define AUTO_PG_ERASE2		0xD0
diff --git a/sst49lfxxxc.c b/sst49lfxxxc.c
index a69ab75..d03b428 100644
--- a/sst49lfxxxc.c
+++ b/sst49lfxxxc.c
@@ -17,7 +17,7 @@
  */
 
 #include "flash.h"
-#include "chipdrivers.h"
+#include "chipdrivers/memory_bus.h"
 
 int erase_sector_49lfxxxc(struct flashctx *flash, unsigned int address,
 			  unsigned int sector_size)
diff --git a/sst_fwhub.c b/sst_fwhub.c
index d688a35..3e53080 100644
--- a/sst_fwhub.c
+++ b/sst_fwhub.c
@@ -19,7 +19,7 @@
 /* Adapted from the Intel FW hub stuff for 82802ax parts. */
 
 #include "flash.h"
-#include "chipdrivers.h"
+#include "chipdrivers/memory_bus.h"
 
 static int check_sst_fwhub_block_lock(struct flashctx *flash, unsigned int offset)
 {
diff --git a/stm50.c b/stm50.c
index d03d6dc..e1d5ba8 100644
--- a/stm50.c
+++ b/stm50.c
@@ -23,7 +23,7 @@
  */
 
 #include "flash.h"
-#include "chipdrivers.h"
+#include "chipdrivers/memory_bus.h"
 
 static int stm50_erase_sector(struct flashctx *flash, unsigned int addr)
 {
diff --git a/w29ee011.c b/w29ee011.c
index 31aa84f..6def570 100644
--- a/w29ee011.c
+++ b/w29ee011.c
@@ -16,7 +16,7 @@
 
 #include <string.h>
 #include "flash.h"
-#include "chipdrivers.h"
+#include "chipdrivers/memory_bus.h"
 
 /* According to the Winbond W29EE011, W29EE012, W29C010M, W29C011A
  * datasheets this is the only valid probe function for those chips.
diff --git a/w39.c b/w39.c
index f58c495..234bcd8 100644
--- a/w39.c
+++ b/w39.c
@@ -16,7 +16,7 @@
  */
 
 #include "flash.h"
-#include "chipdrivers.h"
+#include "chipdrivers/memory_bus.h"
 
 static uint8_t w39_idmode_readb(struct flashctx *flash, unsigned int offset)
 {
