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);
 }
 
 /**
