staging: wlan-ng: replace rate macros
authorLuke Koch <lu.ale.koch@gmail.com>
Thu, 20 Apr 2023 16:50:00 +0000 (18:50 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 8 May 2023 14:06:39 +0000 (16:06 +0200)
Change p80211msg_dot11req_scan_results rate members to struct arrays
instead of individually numbered member structs.
Replace macros to set rates with loops to avoid checkpatch warning
and adhere to linux coding style.

Reported by checkpatch:

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

Signed-off-by: Luke Koch <lu.ale.koch@gmail.com>
Link: https://lore.kernel.org/r/ZEFtOH83frrrireN@kernelhacking.kernelhacking.example.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/wlan-ng/p80211metastruct.h
drivers/staging/wlan-ng/prism2mgmt.c

index 4adc64580185a14c56fce2ac3be0e6d99bbd1e2e..e963227f797c9752fb694c6fd919436a43ad4178 100644 (file)
@@ -114,22 +114,8 @@ struct p80211msg_dot11req_scan_results {
        struct p80211item_uint32 cfpollreq;
        struct p80211item_uint32 privacy;
        struct p80211item_uint32 capinfo;
-       struct p80211item_uint32 basicrate1;
-       struct p80211item_uint32 basicrate2;
-       struct p80211item_uint32 basicrate3;
-       struct p80211item_uint32 basicrate4;
-       struct p80211item_uint32 basicrate5;
-       struct p80211item_uint32 basicrate6;
-       struct p80211item_uint32 basicrate7;
-       struct p80211item_uint32 basicrate8;
-       struct p80211item_uint32 supprate1;
-       struct p80211item_uint32 supprate2;
-       struct p80211item_uint32 supprate3;
-       struct p80211item_uint32 supprate4;
-       struct p80211item_uint32 supprate5;
-       struct p80211item_uint32 supprate6;
-       struct p80211item_uint32 supprate7;
-       struct p80211item_uint32 supprate8;
+       struct p80211item_uint32 basicrate[8];
+       struct p80211item_uint32 supprate[8];
 } __packed;
 
 struct p80211msg_dot11req_start {
index 9030a8939a9bf307015b56f832010f6048571d3d..fc465261baa1bc9e96495e06675bb034602082bc 100644 (file)
@@ -437,42 +437,22 @@ int prism2mgmt_scan_results(struct wlandevice *wlandev, void *msgp)
                if (item->supprates[count] == 0)
                        break;
 
-#define REQBASICRATE(N) \
-       do { \
-               if ((count >= (N)) && DOT11_RATE5_ISBASIC_GET(  \
-                       item->supprates[(N) - 1])) { \
-                       req->basicrate ## N .data = item->supprates[(N) - 1]; \
-                       req->basicrate ## N .status = \
-                               P80211ENUM_msgitem_status_data_ok; \
-               } \
-       } while (0)
-
-       REQBASICRATE(1);
-       REQBASICRATE(2);
-       REQBASICRATE(3);
-       REQBASICRATE(4);
-       REQBASICRATE(5);
-       REQBASICRATE(6);
-       REQBASICRATE(7);
-       REQBASICRATE(8);
-
-#define REQSUPPRATE(N) \
-       do { \
-               if (count >= (N)) {                                     \
-                       req->supprate ## N .data = item->supprates[(N) - 1]; \
-                       req->supprate ## N .status = \
-                               P80211ENUM_msgitem_status_data_ok; \
-               } \
-       } while (0)
-
-       REQSUPPRATE(1);
-       REQSUPPRATE(2);
-       REQSUPPRATE(3);
-       REQSUPPRATE(4);
-       REQSUPPRATE(5);
-       REQSUPPRATE(6);
-       REQSUPPRATE(7);
-       REQSUPPRATE(8);
+       for (int i = 0; i < 8; i++) {
+               if (count > i &&
+                   DOT11_RATE5_ISBASIC_GET(item->supprates[i])) {
+                       req->basicrate[i].data = item->supprates[i];
+                       req->basicrate[i].status =
+                               P80211ENUM_msgitem_status_data_ok;
+               }
+       }
+
+       for (int i = 0; i < 8; i++) {
+               if (count > i) {
+                       req->supprate[i].data = item->supprates[i];
+                       req->supprate[i].status =
+                               P80211ENUM_msgitem_status_data_ok;
+               }
+       }
 
        /* beacon period */
        req->beaconperiod.status = P80211ENUM_msgitem_status_data_ok;