diff --git a/occ_device.cpp b/occ_device.cpp
index c95c0f3..5cadf14 100644
--- a/occ_device.cpp
+++ b/occ_device.cpp
@@ -3,6 +3,9 @@
 #include "occ_manager.hpp"
 #include "occ_status.hpp"
 
+#include <phosphor-logging/log.hpp>
+
+#include <filesystem>
 #include <iostream>
 
 namespace open_power
@@ -10,6 +13,8 @@
 namespace occ
 {
 
+using namespace phosphor::logging;
+
 fs::path Device::bindPath = fs::path(OCC_HWMON_PATH) / "bind";
 fs::path Device::unBindPath = fs::path(OCC_HWMON_PATH) / "unbind";
 
@@ -82,5 +87,31 @@
     statusObject.throttleMemTemp(error);
 }
 
+fs::path Device::getFilenameByRegex(fs::path basePath,
+                                    const std::regex& expr) const
+{
+    try
+    {
+        for (auto& file : fs::directory_iterator(basePath))
+        {
+            if (std::regex_search(file.path().string(), expr))
+            {
+                // Found match
+                return file;
+            }
+        }
+    }
+    catch (const fs::filesystem_error& e)
+    {
+        log<level::ERR>(
+            fmt::format("getFilenameByRegex: Failed to get filename: {}",
+                        e.what())
+                .c_str());
+    }
+
+    // Return empty path
+    return fs::path{};
+}
+
 } // namespace occ
 } // namespace open_power
