diff --git a/flashchips.c b/flashchips.c
index bce9435..3c5962c 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -21,6 +21,7 @@
 #include "flash.h"
 #include "flashchips.h"
 #include "chipdrivers.h"
+#include "writeprotect.h"
 
 /**
  * List of supported flash chips.
@@ -2459,6 +2460,9 @@
 			.sec    = {STATUS1, 6, RW},
 			.cmp    = {STATUS2, 6, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 	},
 
@@ -5224,6 +5228,9 @@
 			.bp     = {{STATUS1, 2, RW}, {STATUS1, 3, RW}, {STATUS1, 4, RW}},
 			.tb     = {STATUS1, 5, RW}, /* Called BP3 in datasheet, acts like TB */
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 	},
 
@@ -5307,6 +5314,9 @@
 			.bp     = {{STATUS1, 2, RW}, {STATUS1, 3, RW}, {STATUS1, 4, RW}},
 			.tb     = {STATUS1, 5, RW}, /* Called BP3 in datasheet, acts like TB */
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 	},
 
@@ -5393,6 +5403,9 @@
 			.bp     = {{STATUS1, 2, RW}, {STATUS1, 3, RW}, {STATUS1, 4, RW}},
 			.tb     = {STATUS1, 5, RW}, /* Called BP3 in datasheet, acts like TB */
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25_64k_block,
 	},
 
@@ -6538,6 +6551,9 @@
 			.sec    = {STATUS1, 6, RW}, /* Called BP4 in datasheet, acts like SEC */
 			.cmp    = {STATUS2, 6, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 	},
 
@@ -6704,6 +6720,9 @@
 			.sec    = {STATUS1, 6, RW}, /* Called BP4 in datasheet, acts like SEC */
 			.cmp    = {STATUS2, 6, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 	},
 
@@ -6832,6 +6851,9 @@
 			.sec    = {STATUS1, 6, RW}, /* Called BP4 in datasheet, acts like SEC */
 			.cmp    = {STATUS2, 6, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 	},
 
@@ -6965,6 +6987,9 @@
 			.bp     = {{STATUS1, 2, RW}, {STATUS1, 3, RW}, {STATUS1, 4, RW}, {STATUS1, 5, RW}},
 			.tb     = {STATUS1, 6, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 		.prepare_access	= spi_prepare_4ba,
 	},
@@ -7015,6 +7040,9 @@
 			.sec    = {STATUS1, 6, RW}, /* Called BP4 in datasheet, acts like SEC */
 			.cmp    = {STATUS2, 6, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 	},
 
@@ -7137,6 +7165,9 @@
 			.sec    = {STATUS1, 6, RW}, /* Called BP4 in datasheet, acts like SEC */
 			.cmp    = {STATUS2, 6, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 	},
 
@@ -11411,6 +11442,9 @@
 			.bp     = {{STATUS1, 2, RW}, {STATUS1, 3, RW}, {STATUS1, 4, RW}},
 			.tb     = {STATUS1, 5, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 	},
 
@@ -11456,6 +11490,9 @@
 			.bp     = {{STATUS1, 2, RW}, {STATUS1, 3, RW}, {STATUS1, 4, RW}},
 			.tb     = {STATUS1, 5, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 	},
 
@@ -11501,6 +11538,9 @@
 			.bp     = {{STATUS1, 2, RW}, {STATUS1, 3, RW}, {STATUS1, 4, RW}, {STATUS1, 6, RW}},
 			.tb     = {STATUS1, 5, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 	},
 
@@ -11546,6 +11586,9 @@
 			.bp     = {{STATUS1, 2, RW}, {STATUS1, 3, RW}, {STATUS1, 4, RW}, {STATUS1, 6, RW}},
 			.tb     = {STATUS1, 5, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 	},
 
@@ -12202,6 +12245,9 @@
 			.bp     = {{STATUS1, 2, RW}, {STATUS1, 3, RW}, {STATUS1, 4, RW}, {STATUS1, 6, RW}},
 			.tb     = {STATUS1, 5, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 		.prepare_access	= spi_prepare_4ba,
 	},
@@ -16725,6 +16771,9 @@
 			.cmp	= {STATUS2, 6, RW},
 			.wps	= {STATUS3, 2, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 	},
 
@@ -17156,6 +17205,9 @@
 			.cmp	= {STATUS2, 6, RW},
 			.wps	= {STATUS3, 2, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 		.prepare_access	= spi_prepare_4ba,
 	},
@@ -17680,6 +17732,9 @@
 			.cmp	= {STATUS2, 6, RW},
 			.wps	= {STATUS3, 2, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 	},
 
@@ -17728,6 +17783,9 @@
 			.sec    = {STATUS1, 6, RW},
 			.cmp    = {STATUS2, 6, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 	},
 
@@ -17778,6 +17836,9 @@
 			.sec    = {STATUS1, 6, RW},
 			.cmp    = {STATUS2, 6, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 	},
 
@@ -17826,6 +17887,9 @@
 			.sec    = {STATUS1, 6, RW},
 			.cmp    = {STATUS2, 6, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 	},
 
@@ -17996,6 +18060,9 @@
 			.tb     = {STATUS1, 6, RW},
 			.cmp    = {STATUS2, 6, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 		.prepare_access	= spi_prepare_4ba,
 	},
@@ -18052,6 +18119,9 @@
 			.tb     = {STATUS1, 6, RW},
 			.cmp    = {STATUS2, 6, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 		.prepare_access	= spi_prepare_4ba,
 	},
@@ -18108,6 +18178,9 @@
 			.tb     = {STATUS1, 6, RW},
 			.cmp    = {STATUS2, 6, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 		.prepare_access	= spi_prepare_4ba,
 	},
@@ -18213,6 +18286,9 @@
 			.cmp	= {STATUS2, 6, RW},
 			.wps	= {STATUS3, 2, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 		.prepare_access	= spi_prepare_4ba,
 	},
@@ -18264,6 +18340,9 @@
 			.sec    = {STATUS1, 6, RW},
 			.cmp    = {STATUS2, 6, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 	},
 
@@ -18316,6 +18395,9 @@
 			.cmp    = {STATUS2, 6, RW},
 			.wps    = {STATUS3, 2, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 	},
 
@@ -18368,6 +18450,9 @@
 			.cmp    = {STATUS2, 6, RW},
 			.wps    = {STATUS3, 2, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 	},
 
@@ -18418,6 +18503,9 @@
 			.sec    = {STATUS1, 6, RW},
 			.cmp    = {STATUS2, 6, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 	},
 
@@ -18470,6 +18558,9 @@
 			.cmp    = {STATUS2, 6, RW},
 			.wps    = {STATUS3, 2, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 	},
 
@@ -18522,6 +18613,9 @@
 			.cmp    = {STATUS2, 6, RW},
 			.wps    = {STATUS3, 2, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 	},
 
@@ -18574,6 +18668,9 @@
 			.cmp    = {STATUS2, 6, RW},
 			.wps    = {STATUS3, 2, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 	},
 
@@ -18791,6 +18888,9 @@
 			.cmp	= {STATUS2, 6, RW},
 			.wps	= {STATUS3, 2, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 		.prepare_access	= spi_prepare_4ba,
 	},
@@ -18842,6 +18942,9 @@
 			.sec	= {STATUS1, 6, RW},
 			.cmp	= {STATUS2, 6, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 	},
 
@@ -18894,6 +18997,9 @@
 			.cmp	= {STATUS2, 6, RW},
 			.wps	= {STATUS3, 2, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 	},
 
@@ -18984,6 +19090,9 @@
 			.sec    = {STATUS1, 6, RW},
 			.cmp    = {STATUS2, 6, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 	},
 
@@ -19035,6 +19144,9 @@
 			.cmp    = {STATUS2, 6, RW},
 			.wps	= {STATUS3, 2, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 	},
 
@@ -20349,6 +20461,9 @@
 			.sec    = {STATUS1, 6, RW},
 			.cmp    = {STATUS2, 6, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 	},
 
@@ -20402,6 +20517,9 @@
 			.bp     = {{STATUS1, 2, RW}, {STATUS1, 3, RW}, {STATUS1, 4, RW}, {STATUS1, 5, RW}},
 			.tb     = {STATUS1, 6, RW},
 		},
+		.wp_write_cfg	= spi_wp_write_cfg,
+		.wp_read_cfg	= spi_wp_read_cfg,
+		.wp_get_ranges	= spi_wp_get_available_ranges,
 		.decode_range	= decode_range_spi25,
 		.prepare_access	= spi_prepare_4ba,
 	},
diff --git a/include/flash.h b/include/flash.h
index 561a597..340af59 100644
--- a/include/flash.h
+++ b/include/flash.h
@@ -323,6 +323,12 @@
 		struct reg_bit_info wps;
 	} reg_bits;
 
+	/* Write WP configuration to the chip */
+	enum flashprog_wp_result (*wp_write_cfg)(struct flashctx *, const struct flashprog_wp_cfg *);
+	/* Read WP configuration from the chip */
+	enum flashprog_wp_result (*wp_read_cfg)(struct flashprog_wp_cfg *, struct flashctx *);
+	/* Get a list of protection ranges supported by the chip */
+	enum flashprog_wp_result (*wp_get_ranges)(struct flashprog_wp_ranges **, struct flashctx *);
 	/* Function that takes a set of WP config bits (e.g. BP, SEC, TB, etc) */
 	/* and determines what protection range they select. */
 	void (*decode_range)(size_t *start, size_t *len, const struct wp_bits *, size_t chip_len);
diff --git a/include/writeprotect.h b/include/writeprotect.h
index 0e5a86e..356ffb2 100644
--- a/include/writeprotect.h
+++ b/include/writeprotect.h
@@ -78,12 +78,12 @@
 struct flashprog_flashctx;
 
 /* Write WP configuration to the chip */
-enum flashprog_wp_result wp_write_cfg(struct flashprog_flashctx *, const struct flashprog_wp_cfg *);
+enum flashprog_wp_result spi_wp_write_cfg(struct flashprog_flashctx *, const struct flashprog_wp_cfg *);
 
 /* Read WP configuration from the chip */
-enum flashprog_wp_result wp_read_cfg(struct flashprog_wp_cfg *, struct flashprog_flashctx *);
+enum flashprog_wp_result spi_wp_read_cfg(struct flashprog_wp_cfg *, struct flashprog_flashctx *);
 
 /* Get a list of protection ranges supported by the chip */
-enum flashprog_wp_result wp_get_available_ranges(struct flashprog_wp_ranges **, struct flashprog_flashctx *);
+enum flashprog_wp_result spi_wp_get_available_ranges(struct flashprog_wp_ranges **, struct flashprog_flashctx *);
 
 #endif /* !__WRITEPROTECT_H__ */
diff --git a/libflashprog.c b/libflashprog.c
index a7f15b5..6c2a9c9 100644
--- a/libflashprog.c
+++ b/libflashprog.c
@@ -619,15 +619,10 @@
  */
 enum flashprog_wp_result flashprog_wp_write_cfg(struct flashctx *flash, const struct flashprog_wp_cfg *cfg)
 {
-	/*
-	 * TODO: Call custom implementation if the programmer is opaque, as
-	 * direct WP operations require SPI access. In particular, linux_mtd
-	 * has its own WP operations we should use instead.
-	 */
-	if (flash->mst->buses_supported & BUS_SPI)
-		return wp_write_cfg(flash, cfg);
+	if (!flash->chip->wp_write_cfg)
+		return FLASHPROG_WP_ERR_CHIP_UNSUPPORTED;
 
-	return FLASHPROG_WP_ERR_OTHER;
+	return flash->chip->wp_write_cfg(flash, cfg);
 }
 
 /**
@@ -641,15 +636,10 @@
  */
 enum flashprog_wp_result flashprog_wp_read_cfg(struct flashprog_wp_cfg *cfg, struct flashctx *flash)
 {
-	/*
-	 * TODO: Call custom implementation if the programmer is opaque, as
-	 * direct WP operations require SPI access. In particular, linux_mtd
-	 * has its own WP operations we should use instead.
-	 */
-	if (flash->mst->buses_supported & BUS_SPI)
-		return wp_read_cfg(cfg, flash);
+	if (!flash->chip->wp_read_cfg)
+		return FLASHPROG_WP_ERR_CHIP_UNSUPPORTED;
 
-	return FLASHPROG_WP_ERR_OTHER;
+	return flash->chip->wp_read_cfg(cfg, flash);
 }
 
 /**
@@ -666,16 +656,10 @@
  */
 enum flashprog_wp_result flashprog_wp_get_available_ranges(struct flashprog_wp_ranges **list, struct flashprog_flashctx *flash)
 {
-	/*
-	 * TODO: Call custom implementation if the programmer is opaque, as
-	 * direct WP operations require SPI access. We actually can't implement
-	 * this in linux_mtd right now, but we should adopt a proper generic
-	 * architechure to match the read and write functions anyway.
-	 */
-	if (flash->mst->buses_supported & BUS_SPI)
-		return wp_get_available_ranges(list, flash);
+	if (!flash->chip->wp_get_ranges)
+		return FLASHPROG_WP_ERR_CHIP_UNSUPPORTED;
 
-	return FLASHPROG_WP_ERR_OTHER;
+	return flash->chip->wp_get_ranges(list, flash);
 }
 
 /**
diff --git a/writeprotect.c b/writeprotect.c
index b91f3e8..5424518 100644
--- a/writeprotect.c
+++ b/writeprotect.c
@@ -454,7 +454,7 @@
 	return (flash->chip != NULL) && (flash->chip->decode_range != NULL);
 }
 
-enum flashprog_wp_result wp_read_cfg(struct flashprog_wp_cfg *cfg, struct flashctx *flash)
+enum flashprog_wp_result spi_wp_read_cfg(struct flashprog_wp_cfg *cfg, struct flashctx *flash)
 {
 	struct wp_bits bits;
 	enum flashprog_wp_result ret = FLASHPROG_WP_OK;
@@ -474,7 +474,7 @@
 	return ret;
 }
 
-enum flashprog_wp_result wp_write_cfg(struct flashctx *flash, const struct flashprog_wp_cfg *cfg)
+enum flashprog_wp_result spi_wp_write_cfg(struct flashctx *flash, const struct flashprog_wp_cfg *cfg)
 {
 	struct wp_bits bits;
 	enum flashprog_wp_result ret = FLASHPROG_WP_OK;
@@ -500,7 +500,7 @@
 	return ret;
 }
 
-enum flashprog_wp_result wp_get_available_ranges(struct flashprog_wp_ranges **list, struct flashprog_flashctx *flash)
+enum flashprog_wp_result spi_wp_get_available_ranges(struct flashprog_wp_ranges **list, struct flashprog_flashctx *flash)
 {
 	struct wp_bits bits;
 	struct wp_range_and_bits *range_pairs = NULL;
