diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4a0eea3..83d9183 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -46,6 +46,7 @@
    The deprecated functions:
 
    - `get_fru_record_by_option_check()`
+   - `pldm_bios_table_attr_entry_enum_decode_pv_num_check()`
    - `pldm_bios_table_attr_entry_enum_encode_check()`
    - `pldm_bios_table_string_entry_decode_string_check()`
    - `pldm_bios_table_string_entry_encode_check()`
diff --git a/abi/x86_64/gcc.dump b/abi/x86_64/gcc.dump
index 0168ee6..f6f50a6 100644
--- a/abi/x86_64/gcc.dump
+++ b/abi/x86_64/gcc.dump
@@ -1598,7 +1598,7 @@
     },
     '17275' => {
       'Header' => 'bios_table.h',
-      'Line' => '641',
+      'Line' => '643',
       'Param' => {
         '0' => {
           'name' => 'table',
@@ -1618,7 +1618,7 @@
     },
     '17420' => {
       'Header' => 'bios_table.h',
-      'Line' => '632',
+      'Line' => '634',
       'Param' => {
         '0' => {
           'name' => 'src_table',
@@ -1654,7 +1654,7 @@
     },
     '18108' => {
       'Header' => 'bios_table.h',
-      'Line' => '598',
+      'Line' => '600',
       'Param' => {
         '0' => {
           'name' => 'table',
@@ -1847,7 +1847,7 @@
     },
     '20599' => {
       'Header' => 'bios_table.h',
-      'Line' => '617',
+      'Line' => '619',
       'Param' => {
         '0' => {
           'name' => 'table',
@@ -1872,7 +1872,7 @@
     },
     '20899' => {
       'Header' => 'bios_table.h',
-      'Line' => '605',
+      'Line' => '607',
       'Param' => {
         '0' => {
           'name' => 'size_without_pad',
@@ -1884,7 +1884,7 @@
     },
     '21254' => {
       'Header' => 'bios_table.h',
-      'Line' => '580',
+      'Line' => '582',
       'Param' => {
         '0' => {
           'name' => 'entry',
@@ -1899,7 +1899,7 @@
     },
     '21303' => {
       'Header' => 'bios_table.h',
-      'Line' => '587',
+      'Line' => '589',
       'Param' => {
         '0' => {
           'name' => 'entry',
@@ -1911,7 +1911,7 @@
     },
     '21787' => {
       'Header' => 'bios_table.h',
-      'Line' => '554',
+      'Line' => '556',
       'Param' => {
         '0' => {
           'name' => 'entry',
@@ -1926,7 +1926,7 @@
     },
     '21927' => {
       'Header' => 'bios_table.h',
-      'Line' => '570',
+      'Line' => '572',
       'Param' => {
         '0' => {
           'name' => 'entry',
@@ -1961,13 +1961,13 @@
     },
     '22196' => {
       'Header' => 'bios_table.h',
-      'Line' => '548',
+      'Line' => '550',
       'Return' => '1145',
       'ShortName' => 'pldm_bios_table_attr_value_entry_encode_integer_length'
     },
     '22358' => {
       'Header' => 'bios_table.h',
-      'Line' => '541',
+      'Line' => '543',
       'Param' => {
         '0' => {
           'name' => 'entry',
@@ -2007,7 +2007,7 @@
     },
     '22758' => {
       'Header' => 'bios_table.h',
-      'Line' => '522',
+      'Line' => '524',
       'Param' => {
         '0' => {
           'name' => 'entry',
@@ -2023,7 +2023,7 @@
     },
     '22853' => {
       'Header' => 'bios_table.h',
-      'Line' => '512',
+      'Line' => '514',
       'Param' => {
         '0' => {
           'name' => 'entry',
@@ -2038,7 +2038,7 @@
     },
     '22994' => {
       'Header' => 'bios_table.h',
-      'Line' => '506',
+      'Line' => '508',
       'Param' => {
         '0' => {
           'name' => 'string_length',
@@ -2053,7 +2053,7 @@
     },
     '23176' => {
       'Header' => 'bios_table.h',
-      'Line' => '496',
+      'Line' => '498',
       'Param' => {
         '0' => {
           'name' => 'entry',
@@ -2090,7 +2090,7 @@
     },
     '23495' => {
       'Header' => 'bios_table.h',
-      'Line' => '477',
+      'Line' => '479',
       'Param' => {
         '0' => {
           'name' => 'entry',
@@ -2110,7 +2110,7 @@
     },
     '23742' => {
       'Header' => 'bios_table.h',
-      'Line' => '467',
+      'Line' => '469',
       'Param' => {
         '0' => {
           'name' => 'entry',
@@ -2125,7 +2125,7 @@
     },
     '23791' => {
       'Header' => 'bios_table.h',
-      'Line' => '461',
+      'Line' => '463',
       'Param' => {
         '0' => {
           'name' => 'count',
@@ -2140,7 +2140,7 @@
     },
     '23840' => {
       'Header' => 'bios_table.h',
-      'Line' => '454',
+      'Line' => '456',
       'Param' => {
         '0' => {
           'name' => 'entry',
@@ -2155,7 +2155,7 @@
     },
     '23889' => {
       'Header' => 'bios_table.h',
-      'Line' => '447',
+      'Line' => '449',
       'Param' => {
         '0' => {
           'name' => 'entry',
@@ -2170,7 +2170,7 @@
     },
     '24436' => {
       'Header' => 'bios_table.h',
-      'Line' => '439',
+      'Line' => '441',
       'Param' => {
         '0' => {
           'name' => 'entry',
@@ -2205,7 +2205,7 @@
     },
     '24572' => {
       'Header' => 'bios_table.h',
-      'Line' => '427',
+      'Line' => '429',
       'Param' => {
         '0' => {
           'name' => 'entry',
@@ -2230,7 +2230,7 @@
     },
     '24844' => {
       'Header' => 'bios_table.h',
-      'Line' => '408',
+      'Line' => '410',
       'Param' => {
         '0' => {
           'name' => 'info',
@@ -2246,13 +2246,13 @@
     },
     '25148' => {
       'Header' => 'bios_table.h',
-      'Line' => '415',
+      'Line' => '417',
       'Return' => '1145',
       'ShortName' => 'pldm_bios_table_attr_entry_integer_encode_length'
     },
     '25310' => {
       'Header' => 'bios_table.h',
-      'Line' => '382',
+      'Line' => '384',
       'Param' => {
         '0' => {
           'name' => 'entry',
@@ -2272,7 +2272,7 @@
     },
     '25579' => {
       'Header' => 'bios_table.h',
-      'Line' => '374',
+      'Line' => '376',
       'Param' => {
         '0' => {
           'name' => 'entry',
@@ -2287,7 +2287,7 @@
     },
     '25648' => {
       'Header' => 'bios_table.h',
-      'Line' => '366',
+      'Line' => '368',
       'Param' => {
         '0' => {
           'name' => 'entry',
@@ -2302,7 +2302,7 @@
     },
     '25717' => {
       'Header' => 'bios_table.h',
-      'Line' => '358',
+      'Line' => '360',
       'Param' => {
         '0' => {
           'name' => 'entry',
@@ -2317,7 +2317,7 @@
     },
     '25786' => {
       'Header' => 'bios_table.h',
-      'Line' => '350',
+      'Line' => '352',
       'Param' => {
         '0' => {
           'name' => 'entry',
@@ -2337,7 +2337,7 @@
     },
     '25956' => {
       'Header' => 'bios_table.h',
-      'Line' => '339',
+      'Line' => '341',
       'Param' => {
         '0' => {
           'name' => 'entry',
@@ -2361,7 +2361,7 @@
     },
     '26320' => {
       'Header' => 'bios_table.h',
-      'Line' => '318',
+      'Line' => '320',
       'Param' => {
         '0' => {
           'name' => 'info',
@@ -2380,7 +2380,7 @@
     },
     '26589' => {
       'Header' => 'bios_table.h',
-      'Line' => '326',
+      'Line' => '328',
       'Param' => {
         '0' => {
           'name' => 'def_str_len',
@@ -2395,7 +2395,7 @@
     },
     '26821' => {
       'Header' => 'bios_table.h',
-      'Line' => '292',
+      'Line' => '294',
       'Param' => {
         '0' => {
           'name' => 'entry',
@@ -2415,7 +2415,7 @@
     },
     '27100' => {
       'Header' => 'bios_table.h',
-      'Line' => '280',
+      'Line' => '282',
       'Param' => {
         '0' => {
           'name' => 'entry',
@@ -2440,7 +2440,7 @@
     },
     '27265' => {
       'Header' => 'bios_table.h',
-      'Line' => '263',
+      'Line' => '265',
       'Param' => {
         '0' => {
           'name' => 'entry',
@@ -2476,7 +2476,7 @@
         '1' => 'rsi'
       },
       'Return' => '100',
-      'ShortName' => 'pldm_bios_table_attr_entry_enum_decode_pv_num_check'
+      'ShortName' => 'pldm_bios_table_attr_entry_enum_decode_pv_num'
     },
     '27487' => {
       'Header' => 'bios_table.h',
@@ -9453,6 +9453,7 @@
       'pldm_bios_table_attr_entry_enum_decode_def_indices' => 1,
       'pldm_bios_table_attr_entry_enum_decode_def_num_check' => 1,
       'pldm_bios_table_attr_entry_enum_decode_pv_hdls_check' => 1,
+      'pldm_bios_table_attr_entry_enum_decode_pv_num' => 1,
       'pldm_bios_table_attr_entry_enum_decode_pv_num_check' => 1,
       'pldm_bios_table_attr_entry_enum_encode' => 1,
       'pldm_bios_table_attr_entry_enum_encode_check' => 1,
@@ -10389,7 +10390,7 @@
     },
     '16385' => {
       'Header' => 'bios_table.h',
-      'Line' => '302',
+      'Line' => '304',
       'Memb' => {
         '0' => {
           'name' => 'name_handle',
@@ -10439,7 +10440,7 @@
     },
     '16507' => {
       'Header' => 'bios_table.h',
-      'Line' => '392',
+      'Line' => '394',
       'Memb' => {
         '0' => {
           'name' => 'name_handle',
diff --git a/evolutions/current/pldm_bios_table_attr_entry_enum_decode_pv_num_check.yaml b/evolutions/current/pldm_bios_table_attr_entry_enum_decode_pv_num_check.yaml
new file mode 100644
index 0000000..789355a
--- /dev/null
+++ b/evolutions/current/pldm_bios_table_attr_entry_enum_decode_pv_num_check.yaml
@@ -0,0 +1,2 @@
+- QualifiedName: pldm_bios_table_attr_entry_enum_decode_pv_num_check
+  NewName: pldm_bios_table_attr_entry_enum_decode_pv_num
diff --git a/include/libpldm/bios_table.h b/include/libpldm/bios_table.h
index e80acf6..276fa73 100644
--- a/include/libpldm/bios_table.h
+++ b/include/libpldm/bios_table.h
@@ -250,6 +250,8 @@
  *  @return PLDM_SUCCESS on success, PLDM_ERROR_INVALID_DATA if entry or pv_num are NULL, or
  *          PLDM_ERROR_INVALID_DATA if entry is not a valid PLDM_BIOS_ENUMERATION
  */
+int pldm_bios_table_attr_entry_enum_decode_pv_num(
+	const struct pldm_bios_attr_table_entry *entry, uint8_t *pv_num);
 int pldm_bios_table_attr_entry_enum_decode_pv_num_check(
 	const struct pldm_bios_attr_table_entry *entry, uint8_t *pv_num);
 
diff --git a/meson.build b/meson.build
index f817919..767e03c 100644
--- a/meson.build
+++ b/meson.build
@@ -34,6 +34,7 @@
   add_project_arguments('-DLIBPLDM_API_DEPRECATED', language: ['c', 'cpp'])
   libpldm_deprecated_aliases += [
     ['get_fru_record_by_option_check', 'get_fru_record_by_option'],
+    ['pldm_bios_table_attr_entry_enum_decode_pv_num_check', 'pldm_bios_table_attr_entry_enum_decode_pv_num'],
     ['pldm_bios_table_attr_entry_enum_encode_check', 'pldm_bios_table_attr_entry_enum_encode'],
     ['pldm_bios_table_string_entry_decode_string_check', 'pldm_bios_table_string_entry_decode_string'],
     ['pldm_bios_table_string_entry_encode_check', 'pldm_bios_table_string_entry_encode'],
diff --git a/src/dsp/bios_table.c b/src/dsp/bios_table.c
index daa4278..88a7ecc 100644
--- a/src/dsp/bios_table.c
+++ b/src/dsp/bios_table.c
@@ -233,7 +233,7 @@
 	} while (0)
 
 LIBPLDM_ABI_STABLE
-int pldm_bios_table_attr_entry_enum_decode_pv_num_check(
+int pldm_bios_table_attr_entry_enum_decode_pv_num(
 	const struct pldm_bios_attr_table_entry *entry, uint8_t *pv_num)
 {
 	POINTER_CHECK(entry);
diff --git a/tests/dsp/bios_table.cpp b/tests/dsp/bios_table.cpp
index 4d81a03..b2f9fa2 100644
--- a/tests/dsp/bios_table.cpp
+++ b/tests/dsp/bios_table.cpp
@@ -74,13 +74,11 @@
     auto entry =
         reinterpret_cast<struct pldm_bios_attr_table_entry*>(enumEntry.data());
     uint8_t pvNumber;
-    ASSERT_EQ(
-        pldm_bios_table_attr_entry_enum_decode_pv_num_check(entry, &pvNumber),
-        PLDM_SUCCESS);
+    ASSERT_EQ(pldm_bios_table_attr_entry_enum_decode_pv_num(entry, &pvNumber),
+              PLDM_SUCCESS);
     EXPECT_EQ(pvNumber, 2);
     pvNumber = 0;
-    auto rc =
-        pldm_bios_table_attr_entry_enum_decode_pv_num_check(entry, &pvNumber);
+    auto rc = pldm_bios_table_attr_entry_enum_decode_pv_num(entry, &pvNumber);
     EXPECT_EQ(rc, PLDM_SUCCESS);
     EXPECT_EQ(pvNumber, 2);
 
@@ -124,14 +122,13 @@
     EXPECT_EQ(rc, PLDM_SUCCESS);
     EXPECT_EQ(defNumber, 1);
 
-    rc =
-        pldm_bios_table_attr_entry_enum_decode_pv_num_check(nullptr, &pvNumber);
+    rc = pldm_bios_table_attr_entry_enum_decode_pv_num(nullptr, &pvNumber);
     EXPECT_EQ(rc, PLDM_ERROR_INVALID_DATA);
     rc = pldm_bios_table_attr_entry_enum_decode_def_num_check(entry, nullptr);
     EXPECT_EQ(rc, PLDM_ERROR_INVALID_DATA);
 
     entry->attr_type = PLDM_BIOS_STRING;
-    rc = pldm_bios_table_attr_entry_enum_decode_pv_num_check(entry, &pvNumber);
+    rc = pldm_bios_table_attr_entry_enum_decode_pv_num(entry, &pvNumber);
     EXPECT_EQ(rc, PLDM_ERROR_INVALID_DATA);
 
     rc =
