From: Przemek Kitszel <przemyslaw.kits...@intel.com>

Add devlink_fmsg_put() that dispatches based on the type
of the value to put, example: bool -> devlink_fmsg_bool_pair_put().

Signed-off-by: Przemek Kitszel <przemyslaw.kits...@intel.com>
Reviewed-by: Wojciech Drewek <wojciech.dre...@intel.com>
Signed-off-by: Mateusz Polchlopek <mateusz.polchlo...@intel.com>
---
 include/net/devlink.h | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/include/net/devlink.h b/include/net/devlink.h
index db5eff6cb60f..85739bb731c1 100644
--- a/include/net/devlink.h
+++ b/include/net/devlink.h
@@ -1261,6 +1261,17 @@ enum devlink_trap_group_generic_id {
                .min_burst = _min_burst,                                      \
        }
 
+#define devlink_fmsg_put(fmsg, name, value) (                  \
+       _Generic((value),                                       \
+               bool :          devlink_fmsg_bool_pair_put,     \
+               u8 :            devlink_fmsg_u8_pair_put,       \
+               u16 :           devlink_fmsg_u32_pair_put,      \
+               u32 :           devlink_fmsg_u32_pair_put,      \
+               u64 :           devlink_fmsg_u64_pair_put,      \
+               char * :        devlink_fmsg_string_pair_put,   \
+               const char * :  devlink_fmsg_string_pair_put)   \
+       (fmsg, name, (value)))
+
 enum {
        /* device supports reload operations */
        DEVLINK_F_RELOAD = 1UL << 0,
-- 
2.38.1

Reply via email to