diff --git a/mboxd_pnor_partition_table.cpp b/mboxd_pnor_partition_table.cpp
index 2d7cf8f..e58b019 100644
--- a/mboxd_pnor_partition_table.cpp
+++ b/mboxd_pnor_partition_table.cpp
@@ -64,26 +64,6 @@
     return 0;
 }
 
-size_t vpnor_get_partition_table_size(const struct mbox_context *context)
-{
-    return context && context->vpnor ? context->vpnor->table->blocks() : 0;
-}
-
-const struct pnor_partition_table *
-vpnor_get_partition_table(const struct mbox_context *context)
-{
-    return context && context->vpnor ? &(context->vpnor->table->getHostTable())
-                                     : nullptr;
-}
-
-const struct pnor_partition *
-vpnor_get_partition(const struct mbox_context *context, const size_t offset)
-{
-    return context && context->vpnor
-               ? &(context->vpnor->table->partition(offset))
-               : nullptr;
-}
-
 int vpnor_copy_bootloader_partition(const struct mbox_context *context)
 {
     // The hostboot bootloader has certain size/offset assumptions, so
diff --git a/mboxd_pnor_partition_table.h b/mboxd_pnor_partition_table.h
index a2b8c36..06934b9 100644
--- a/mboxd_pnor_partition_table.h
+++ b/mboxd_pnor_partition_table.h
@@ -48,43 +48,6 @@
 int vpnor_create_partition_table_from_path(struct mbox_context *context,
                                            const char* path);
 
-
-/** @brief Get partition table size, in blocks (1 block = 4KB)
- *
- *  @param[in] context - mbox context pointer
- *
- *  @returns partition table size. 0 if no table exists, or if the
- *           context is NULL.
- */
-size_t vpnor_get_partition_table_size(const struct mbox_context *context);
-
-
-/** @brief Get virtual PNOR partition table with host-compatible byte-ordering
- *
- *  @param[in] context - mbox context pointer
- *
- *  @returns pointer to partition table, NULL if partition table doesn't
- *           exist or if the context is NULL.
- */
-const struct pnor_partition_table* vpnor_get_partition_table(
-				       const struct mbox_context *context);
-
-
-/** @brief Get a specific partition, by PNOR offset. The returned
- *         partition is such that the offset lies in that partition's
- *         boundary.
- *
- *  @param[in] context - mbox context pointer
- *  @param[in] offset - PNOR offset
- *
- *  @returns const pointer to pnor_partition, NULL if partition table doesn't
- *           exist or if the context is NULL
- */
-const struct pnor_partition* vpnor_get_partition(
-				const struct mbox_context *context,
-				const size_t offset);
-
-
 /** @brief Copy bootloader partition (alongwith TOC) to LPC memory
  *
  *  @param[in] context - mbox context pointer
