2014-06-23 22:10:54

by Rickard Strandqvist

[permalink] [raw]
Subject: [PATCHv3 6/6] drivers/staging/rtl8821ae: replace magic number by macro

For consistency with other drivers, replace a magic number by a macro.

Signed-off-by: Rickard Strandqvist <[email protected]>
Reviewed-by: Peter Wu <[email protected]>
---
drivers/staging/rtl8821ae/rtl8821ae/hw.c | 2 +-
drivers/staging/rtl8821ae/rtl8821ae/reg.h | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/rtl8821ae/rtl8821ae/hw.c b/drivers/staging/rtl8821ae/rtl8821ae/hw.c
index 1b8583b..1aa1661 100644
--- a/drivers/staging/rtl8821ae/rtl8821ae/hw.c
+++ b/drivers/staging/rtl8821ae/rtl8821ae/hw.c
@@ -1623,7 +1623,7 @@ static int _rtl8821ae_set_media_status(struct ieee80211_hw *hw,

rtl_write_byte(rtlpriv, (MSR), bt_msr);
rtlpriv->cfg->ops->led_control(hw, ledaction);
- if ((bt_msr & ~0xfc) == MSR_AP)
+ if ((bt_msr & MSR_MASK) == MSR_AP)
rtl_write_byte(rtlpriv, REG_BCNTCFG + 1, 0x00);
else
rtl_write_byte(rtlpriv, REG_BCNTCFG + 1, 0x66);
diff --git a/drivers/staging/rtl8821ae/rtl8821ae/reg.h b/drivers/staging/rtl8821ae/rtl8821ae/reg.h
index beffb42..4cb3ca9 100644
--- a/drivers/staging/rtl8821ae/rtl8821ae/reg.h
+++ b/drivers/staging/rtl8821ae/rtl8821ae/reg.h
@@ -431,6 +431,7 @@
#define MSR_ADHOC 0x01
#define MSR_INFRA 0x02
#define MSR_AP 0x03
+#define MSR_MASK 0x03

#define RRSR_RSC_OFFSET 21
#define RRSR_SHORT_OFFSET 23
--
1.7.10.4


2014-06-23 22:30:08

by Peter Wu

[permalink] [raw]
Subject: Re: [PATCHv3 6/6] drivers/staging/rtl8821ae: replace magic number by macro

(staging drivers are handled by Greg KH, cc'ing him)

On Tuesday 24 June 2014 00:11:51 Rickard Strandqvist wrote:
> For consistency with other drivers, replace a magic number by a macro.
>
> Signed-off-by: Rickard Strandqvist <[email protected]>
> Reviewed-by: Peter Wu <[email protected]>
> ---
> drivers/staging/rtl8821ae/rtl8821ae/hw.c | 2 +-
> drivers/staging/rtl8821ae/rtl8821ae/reg.h | 1 +
> 2 files changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/staging/rtl8821ae/rtl8821ae/hw.c b/drivers/staging/rtl8821ae/rtl8821ae/hw.c
> index 1b8583b..1aa1661 100644
> --- a/drivers/staging/rtl8821ae/rtl8821ae/hw.c
> +++ b/drivers/staging/rtl8821ae/rtl8821ae/hw.c
> @@ -1623,7 +1623,7 @@ static int _rtl8821ae_set_media_status(struct ieee80211_hw *hw,
>
> rtl_write_byte(rtlpriv, (MSR), bt_msr);
> rtlpriv->cfg->ops->led_control(hw, ledaction);
> - if ((bt_msr & ~0xfc) == MSR_AP)
> + if ((bt_msr & MSR_MASK) == MSR_AP)
> rtl_write_byte(rtlpriv, REG_BCNTCFG + 1, 0x00);
> else
> rtl_write_byte(rtlpriv, REG_BCNTCFG + 1, 0x66);
> diff --git a/drivers/staging/rtl8821ae/rtl8821ae/reg.h b/drivers/staging/rtl8821ae/rtl8821ae/reg.h
> index beffb42..4cb3ca9 100644
> --- a/drivers/staging/rtl8821ae/rtl8821ae/reg.h
> +++ b/drivers/staging/rtl8821ae/rtl8821ae/reg.h
> @@ -431,6 +431,7 @@
> #define MSR_ADHOC 0x01
> #define MSR_INFRA 0x02
> #define MSR_AP 0x03
> +#define MSR_MASK 0x03
>
> #define RRSR_RSC_OFFSET 21
> #define RRSR_SHORT_OFFSET 23
>

2014-06-25 00:52:50

by David Rientjes

[permalink] [raw]
Subject: Re: [PATCHv3 6/6] drivers/staging/rtl8821ae: replace magic number by macro

On Tue, 24 Jun 2014, Peter Wu wrote:

> (staging drivers are handled by Greg KH, cc'ing him)
>
> On Tuesday 24 June 2014 00:11:51 Rickard Strandqvist wrote:
> > For consistency with other drivers, replace a magic number by a macro.
> >
> > Signed-off-by: Rickard Strandqvist <[email protected]>
> > Reviewed-by: Peter Wu <[email protected]>
> > ---
> > drivers/staging/rtl8821ae/rtl8821ae/hw.c | 2 +-
> > drivers/staging/rtl8821ae/rtl8821ae/reg.h | 1 +
> > 2 files changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/staging/rtl8821ae/rtl8821ae/hw.c b/drivers/staging/rtl8821ae/rtl8821ae/hw.c
> > index 1b8583b..1aa1661 100644
> > --- a/drivers/staging/rtl8821ae/rtl8821ae/hw.c
> > +++ b/drivers/staging/rtl8821ae/rtl8821ae/hw.c
> > @@ -1623,7 +1623,7 @@ static int _rtl8821ae_set_media_status(struct ieee80211_hw *hw,
> >
> > rtl_write_byte(rtlpriv, (MSR), bt_msr);
> > rtlpriv->cfg->ops->led_control(hw, ledaction);
> > - if ((bt_msr & ~0xfc) == MSR_AP)
> > + if ((bt_msr & MSR_MASK) == MSR_AP)
> > rtl_write_byte(rtlpriv, REG_BCNTCFG + 1, 0x00);
> > else
> > rtl_write_byte(rtlpriv, REG_BCNTCFG + 1, 0x66);
> > diff --git a/drivers/staging/rtl8821ae/rtl8821ae/reg.h b/drivers/staging/rtl8821ae/rtl8821ae/reg.h
> > index beffb42..4cb3ca9 100644
> > --- a/drivers/staging/rtl8821ae/rtl8821ae/reg.h
> > +++ b/drivers/staging/rtl8821ae/rtl8821ae/reg.h
> > @@ -431,6 +431,7 @@
> > #define MSR_ADHOC 0x01
> > #define MSR_INFRA 0x02
> > #define MSR_AP 0x03
> > +#define MSR_MASK 0x03
> >
> > #define RRSR_RSC_OFFSET 21
> > #define RRSR_SHORT_OFFSET 23

Doing this certainly is better than the old code, but if you're going to
add an MSR_MASK I think it would be better to define it and move all of
these MSR_* bits to a generalized bit/wireless/rtlwifi header since they
all need it and there's no changes between them.

Notice how much of this handling is already wrong where rtlwifi drivers
are checking for bt_msr & 0xfc == MSR_AP which is obviously an impossible
condition, and those aren't even staging drivers.

A cleanup in this area would be most helpful.