diff --git a/.clang-tidy b/.clang-tidy
index 442c545..7cb9ecd 100644
--- a/.clang-tidy
+++ b/.clang-tidy
@@ -329,6 +329,7 @@
 readability-redundant-control-flow,
 readability-redundant-declaration,
 readability-redundant-function-ptr-dereference,
+readability-redundant-inline-specifier,
 readability-redundant-member-init,
 readability-redundant-preprocessor,
 readability-redundant-smartptr-get,
diff --git a/http/utility.hpp b/http/utility.hpp
index bf70891..47ddaf9 100644
--- a/http/utility.hpp
+++ b/http/utility.hpp
@@ -46,7 +46,7 @@
     return static_cast<typename std::underlying_type<E>::type>(e);
 }
 
-constexpr inline uint64_t getParameterTag(std::string_view url)
+constexpr uint64_t getParameterTag(std::string_view url)
 {
     uint64_t tagValue = 0;
     size_t urlSegmentIndex = std::string_view::npos;
diff --git a/include/multipart_parser.hpp b/include/multipart_parser.hpp
index 924ee8d..9d55f3a 100644
--- a/include/multipart_parser.hpp
+++ b/include/multipart_parser.hpp
@@ -239,7 +239,7 @@
         return static_cast<char>(c | 0x20);
     }
 
-    inline bool isBoundaryChar(char c) const
+    bool isBoundaryChar(char c) const
     {
         return boundaryIndex[static_cast<unsigned char>(c)];
     }
diff --git a/redfish-core/include/utils/query_param.hpp b/redfish-core/include/utils/query_param.hpp
index c687444..dc06a3a 100644
--- a/redfish-core/include/utils/query_param.hpp
+++ b/redfish-core/include/utils/query_param.hpp
@@ -523,7 +523,7 @@
     nlohmann::json::json_pointer location;
     std::string uri;
 
-    inline bool operator==(const ExpandNode& other) const
+    bool operator==(const ExpandNode& other) const
     {
         return location == other.location && uri == other.uri;
     }
