staging: wlan-ng: replace macro with inline function in prism2mgmt.c
authorTim Collier <osdevtc@gmail.com>
Fri, 22 Jun 2018 19:39:33 +0000 (20:39 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 28 Jun 2018 13:12:50 +0000 (22:12 +0900)
checkpatch gives the following message for the p80211rate_to_p2bit
macro:

CHECK: Macro argument reuse 'n' - possible side-effects?

To fix the message, replace the macro with an equivalent inline
function.

Signed-off-by: Tim Collier <osdevtc@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/wlan-ng/prism2mgmt.c

index d7de9e9c47a2598c2215d4ad7effe7c60a9ea19b..28e4029d46f63464a3d31e36bc690cbba20391a1 100644 (file)
 #include "prism2mgmt.h"
 
 /* Converts 802.11 format rate specifications to prism2 */
-#define p80211rate_to_p2bit(n) ((((n) & ~BIT(7)) == 2) ? BIT(0) :  \
-                                (((n) & ~BIT(7)) == 4) ? BIT(1) : \
-                                (((n) & ~BIT(7)) == 11) ? BIT(2) : \
-                                (((n) & ~BIT(7)) == 22) ? BIT(3) : 0)
+static inline u16 p80211rate_to_p2bit(u32 rate)
+{
+       switch (rate & ~BIT(7)) {
+       case 2:
+               return BIT(0);
+       case 4:
+               return BIT(1);
+       case 11:
+               return BIT(2);
+       case 22:
+               return BIT(3);
+       default:
+               return 0;
+       }
+}
 
 /*----------------------------------------------------------------
  * prism2mgmt_scan