diff --git a/src/msgbuf/platform.h b/src/msgbuf/platform.h
index c52a66d..11f0900 100644
--- a/src/msgbuf/platform.h
+++ b/src/msgbuf/platform.h
@@ -2,6 +2,7 @@
 #ifndef PLDM_MSGBUF_PLATFORM_H
 #define PLDM_MSGBUF_PLATFORM_H
 
+#include "../compiler.h"
 #include "../msgbuf.h"
 #include <libpldm/base.h>
 #include <libpldm/platform.h>
@@ -19,14 +20,7 @@
 	return pldm_msgbuf_validate(ctx);
 }
 
-/*
- * We use __attribute__((always_inline)) below so the compiler has visibility of
- * the switch() at the call site. It is often the case that the size of multiple
- * fields depends on the tag. Inlining thus gives the compiler visibility to
- * hoist one tag-based code-path condition to cover all invocations.
- */
-
-__attribute__((always_inline)) static inline int
+LIBPLDM_CC_ALWAYS_INLINE int
 pldm_msgbuf_extract_sensor_data(struct pldm_msgbuf *ctx,
 				enum pldm_sensor_readings_data_type tag,
 				union_sensor_data_size *dst)
@@ -54,7 +48,7 @@
  * have used the approach used by callers of pldm_msgbuf_extract_sensor_data()
  * above
  */
-__attribute__((always_inline)) static inline int
+LIBPLDM_CC_ALWAYS_INLINE int
 pldm_msgbuf_extract_sensor_value(struct pldm_msgbuf *ctx,
 				 enum pldm_sensor_readings_data_type tag,
 				 void *val)
@@ -81,10 +75,8 @@
 	pldm_msgbuf_extract_typecheck(union_range_field_format,                \
 				      pldm__msgbuf_extract_range_field_format, \
 				      dst, ctx, tag, (void *)&(dst))
-__attribute__((always_inline)) static inline int
-pldm__msgbuf_extract_range_field_format(struct pldm_msgbuf *ctx,
-					enum pldm_range_field_format tag,
-					void *rff)
+LIBPLDM_CC_ALWAYS_INLINE int pldm__msgbuf_extract_range_field_format(
+	struct pldm_msgbuf *ctx, enum pldm_range_field_format tag, void *rff)
 {
 	switch (tag) {
 	case PLDM_RANGE_FIELD_FORMAT_UINT8:
@@ -121,7 +113,7 @@
 }
 
 /* This API is bad, but it's because the caller's APIs are also bad */
-__attribute__((always_inline)) static inline int
+LIBPLDM_CC_ALWAYS_INLINE int
 pldm_msgbuf_extract_effecter_value(struct pldm_msgbuf *ctx,
 				   enum pldm_effecter_data_size tag, void *dst)
 {
@@ -147,7 +139,7 @@
 	pldm_msgbuf_extract_typecheck(union_effecter_data_size,                \
 				      pldm__msgbuf_extract_range_field_format, \
 				      dst, ctx, tag, (void *)&(dst))
-__attribute__((always_inline)) static inline int
+LIBPLDM_CC_ALWAYS_INLINE int
 pldm__msgbuf_extract_effecter_data(struct pldm_msgbuf *ctx,
 				   enum pldm_effecter_data_size tag, void *ed)
 {
