diff --git a/libpldm/bios_table.c b/libpldm/bios_table.c
index 6430923..e8b6607 100644
--- a/libpldm/bios_table.c
+++ b/libpldm/bios_table.c
@@ -699,30 +699,18 @@
 	return entry_length->entry_length_handler(entry);
 }
 
+size_t pldm_bios_table_attr_value_entry_length(
+    const struct pldm_bios_attr_val_table_entry *entry)
+{
+	return attr_value_table_entry_length(entry);
+}
+
 uint16_t pldm_bios_table_attr_value_entry_decode_handle(
     const struct pldm_bios_attr_val_table_entry *entry)
 {
 	return le16toh(entry->attr_handle);
 }
 
-size_t pldm_bios_table_attr_value_entry_value_length(
-    const struct pldm_bios_attr_val_table_entry *entry)
-{
-	size_t entry_length = attr_value_table_entry_length(entry);
-	size_t header_length =
-	    MEMBER_SIZE(pldm_bios_attr_val_table_entry, attr_handle) +
-	    MEMBER_SIZE(pldm_bios_attr_val_table_entry, attr_type);
-	assert(entry_length > header_length);
-
-	return (entry_length - header_length);
-}
-
-const uint8_t *pldm_bios_table_attr_value_entry_value(
-    const struct pldm_bios_attr_val_table_entry *entry)
-{
-	return entry->value;
-}
-
 static size_t pad_size_get(size_t size_without_pad)
 {
 	return ((size_without_pad % 4) ? (4 - size_without_pad % 4) : 0);
diff --git a/libpldm/bios_table.h b/libpldm/bios_table.h
index b1a7f51..8715bc7 100644
--- a/libpldm/bios_table.h
+++ b/libpldm/bios_table.h
@@ -524,18 +524,11 @@
 uint16_t pldm_bios_table_attr_value_entry_decode_handle(
     const struct pldm_bios_attr_val_table_entry *entry);
 
-/** @brief Get the value field length from the attribute value entry
+/** @brief Get the length of the attribute value entry
  *  @param[in] entry - Pointer to bios attribute value entry
- *  @return Length of the value filed
+ *  @return Length of the entry
  */
-size_t pldm_bios_table_attr_value_entry_value_length(
-    const struct pldm_bios_attr_val_table_entry *entry);
-
-/** @brief Get the value field address from the attribute value entry
- *  @param[in] entry - Pointer to bios attribute value entry
- *  @return Pointer to the value field in the attribute value entry;
- */
-const uint8_t *pldm_bios_table_attr_value_entry_value(
+size_t pldm_bios_table_attr_value_entry_length(
     const struct pldm_bios_attr_val_table_entry *entry);
 
 /** @brief Find an entry in attribute value table by handle
