Commit baf3f2f9 authored by Ajay Singh's avatar Ajay Singh Committed by Greg Kroah-Hartman

staging: wilc1000: use GENMASK to extract wid type

Refactor code by make use of 'GENMASK' to extract the WID type from
buffer received from firmware.
Signed-off-by: default avatarAjay Singh <ajay.kathat@microchip.com>
Link: https://lore.kernel.org/r/20191122205153.30723-4-adham.abozaeid@microchip.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent a02a9897
...@@ -197,6 +197,7 @@ ...@@ -197,6 +197,7 @@
#define IS_MANAGMEMENT_CALLBACK 0x080 #define IS_MANAGMEMENT_CALLBACK 0x080
#define IS_MGMT_STATUS_SUCCES 0x040 #define IS_MGMT_STATUS_SUCCES 0x040
#define WILC_WID_TYPE GENMASK(15, 12)
/******************************************** /********************************************
* *
* Tx/Rx Queue Structure * Tx/Rx Queue Structure
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
* All rights reserved. * All rights reserved.
*/ */
#include <linux/bitfield.h>
#include "wlan_if.h" #include "wlan_if.h"
#include "wlan.h" #include "wlan.h"
#include "wlan_cfg.h" #include "wlan_cfg.h"
...@@ -132,7 +133,6 @@ static int wilc_wlan_cfg_set_bin(u8 *frame, u32 offset, u16 id, u8 *b, u32 size) ...@@ -132,7 +133,6 @@ static int wilc_wlan_cfg_set_bin(u8 *frame, u32 offset, u16 id, u8 *b, u32 size)
* *
********************************************/ ********************************************/
#define GET_WID_TYPE(wid) (((wid) >> 12) & 0x7)
static void wilc_wlan_parse_response_frame(struct wilc *wl, u8 *info, int size) static void wilc_wlan_parse_response_frame(struct wilc *wl, u8 *info, int size)
{ {
u16 wid; u16 wid;
...@@ -142,7 +142,7 @@ static void wilc_wlan_parse_response_frame(struct wilc *wl, u8 *info, int size) ...@@ -142,7 +142,7 @@ static void wilc_wlan_parse_response_frame(struct wilc *wl, u8 *info, int size)
i = 0; i = 0;
wid = get_unaligned_le16(info); wid = get_unaligned_le16(info);
switch (GET_WID_TYPE(wid)) { switch (FIELD_GET(WILC_WID_TYPE, wid)) {
case WID_CHAR: case WID_CHAR:
do { do {
if (wl->cfg.b[i].id == WID_NIL) if (wl->cfg.b[i].id == WID_NIL)
...@@ -244,7 +244,7 @@ static void wilc_wlan_parse_info_frame(struct wilc *wl, u8 *info) ...@@ -244,7 +244,7 @@ static void wilc_wlan_parse_info_frame(struct wilc *wl, u8 *info)
int wilc_wlan_cfg_set_wid(u8 *frame, u32 offset, u16 id, u8 *buf, int size) int wilc_wlan_cfg_set_wid(u8 *frame, u32 offset, u16 id, u8 *buf, int size)
{ {
u8 type = (id >> 12) & 0xf; u8 type = FIELD_GET(WILC_WID_TYPE, id);
int ret = 0; int ret = 0;
switch (type) { switch (type) {
...@@ -290,7 +290,7 @@ int wilc_wlan_cfg_get_wid(u8 *frame, u32 offset, u16 id) ...@@ -290,7 +290,7 @@ int wilc_wlan_cfg_get_wid(u8 *frame, u32 offset, u16 id)
int wilc_wlan_cfg_get_val(struct wilc *wl, u16 wid, u8 *buffer, int wilc_wlan_cfg_get_val(struct wilc *wl, u16 wid, u8 *buffer,
u32 buffer_size) u32 buffer_size)
{ {
u32 type = (wid >> 12) & 0xf; u8 type = FIELD_GET(WILC_WID_TYPE, wid);
int i, ret = 0; int i, ret = 0;
i = 0; i = 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment