Re: [PATCH 4/4] staging: wlan-ng: use GENMASK macro in two bitwise operations in prism2sta.c

From: Dan Carpenter
Date: Tue Nov 15 2016 - 07:35:15 EST


On Thu, Nov 10, 2016 at 07:16:42PM +0100, Sergio Paracuellos wrote:
> This patch replace actual mask stuff using BIT macros with
> or operators to make use of GENMASK macro which simplifies
> code clearity and readibility.
>
> It applies for two bitwise operations included in prism2sta.c source file.
>
> Signed-off-by: Sergio Paracuellos <sergio.paracuellos@xxxxxxxxx>
> ---
> drivers/staging/wlan-ng/prism2sta.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/staging/wlan-ng/prism2sta.c b/drivers/staging/wlan-ng/prism2sta.c
> index 351f08d..984804b 100644
> --- a/drivers/staging/wlan-ng/prism2sta.c
> +++ b/drivers/staging/wlan-ng/prism2sta.c
> @@ -654,8 +654,8 @@ static int prism2sta_getcardinfo(struct wlandevice *wlandev)
> hw->ident_sta_fw.minor = le16_to_cpu(hw->ident_sta_fw.minor);
>
> /* strip out the 'special' variant bits */
> - hw->mm_mods = hw->ident_sta_fw.variant & (BIT(14) | BIT(15));
> - hw->ident_sta_fw.variant &= ~((u16)(BIT(14) | BIT(15)));
> + hw->mm_mods = hw->ident_sta_fw.variant & GENMASK(15, 14);
> + hw->ident_sta_fw.variant &= ~((u16)GENMASK(15, 14));

The cast is a no-op because of type promotion. It gets cast to u16 then
immediately recast to int before the bitwise negate op.

regards,
dan carpenter