From 95cccf4d79fec4186b6a0d0723b4bc2c07282c0a Mon Sep 17 00:00:00 2001 From: Kalle Valo Date: Mon, 11 Feb 2019 18:48:04 +0200 Subject: [PATCH] ath10k: make wmi_service_name() warn about missing service ids When adding a new value to enum wmi_service it's very easy to miss that the new value should be also added to wmi_service_name() mapping function. Modify the function so that GCC can now warn about this: drivers/net/wireless/ath/ath10k/wmi.h:385:2: warning: enumeration value 'WMI_SERVICE_FOO' not handled in switch [-Wswitch] And also add a reminder to the enum. Thanks to Jouni Malinen for the idea. Signed-off-by: Kalle Valo --- drivers/net/wireless/ath/ath10k/wmi.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/ath/ath10k/wmi.h b/drivers/net/wireless/ath/ath10k/wmi.h index 2a3cc45f33590..370124eb4fd8b 100644 --- a/drivers/net/wireless/ath/ath10k/wmi.h +++ b/drivers/net/wireless/ath/ath10k/wmi.h @@ -212,6 +212,8 @@ enum wmi_service { WMI_SERVICE_PER_PACKET_SW_ENCRYPT, WMI_SERVICE_REPORT_AIRTIME, + /* Remember to add the new value to wmi_service_name()! */ + /* keep last */ WMI_SERVICE_MAX, }; @@ -378,7 +380,7 @@ enum wmi_10_4_service { WMI_10_4_SERVICE_REPORT_AIRTIME, }; -static inline char *wmi_service_name(int service_id) +static inline char *wmi_service_name(enum wmi_service service_id) { #define SVCSTR(x) case x: return #x @@ -501,11 +503,13 @@ static inline char *wmi_service_name(int service_id) SVCSTR(WMI_SERVICE_PER_PACKET_SW_ENCRYPT); SVCSTR(WMI_SERVICE_REPORT_AIRTIME); - default: + case WMI_SERVICE_MAX: return NULL; } #undef SVCSTR + + return NULL; } #define WMI_SERVICE_IS_ENABLED(wmi_svc_bmap, svc_id, len) \ -- 2.30.2