[PATCH V3] b43: be more user friendly with PHY info
Rafał Miłecki
zajec5 at gmail.com
Thu Jul 26 02:50:59 EDT 2012
2012/7/26 Oleksij Rempel <bug-track at fisher-privat.net>:
> Am 26.07.2012 08:10, schrieb Rafał Miłecki:
>> 2012/7/26 Gábor Stefanik <netrolller.3d at gmail.com>:
>>> On Thu, Jul 26, 2012 at 8:16 AM, Rafał Miłecki <zajec5 at gmail.com> wrote:
>>>> First of all, use PHY names instead of magic numbers. It should make
>>>> configuring kernel easier in case of not enabled PHY type support.
>>>> Secondly, always print info about PHY. This is really basic info about
>>>> hardware and quite important for the support level.
>>>>
>>>> Signed-off-by: Rafał Miłecki <zajec5 at gmail.com>
>>>> ---
>>>> V2: add new PHYTYPEs
>>>> V3: don't printk error in b43_phy_name, just return "UNKNOWN". We still
>>>> can know PHY type thanks to change in caller, which prints both:
>>>> %d and %s. Thanks Joe!
>>>> ---
>>>> drivers/net/wireless/b43/b43.h | 2 ++
>>>> drivers/net/wireless/b43/main.c | 39 ++++++++++++++++++++++++++++++++++-----
>>>> 2 files changed, 36 insertions(+), 5 deletions(-)
>>>>
>>>> diff --git a/drivers/net/wireless/b43/b43.h b/drivers/net/wireless/b43/b43.h
>>>> index 7c899fc..b0c7f47 100644
>>>> --- a/drivers/net/wireless/b43/b43.h
>>>> +++ b/drivers/net/wireless/b43/b43.h
>>>> @@ -415,6 +415,8 @@ enum {
>>>> #define B43_PHYTYPE_HT 0x07
>>>> #define B43_PHYTYPE_LCN 0x08
>>>> #define B43_PHYTYPE_LCNXN 0x09
>>>> +#define B43_PHYTYPE_LCN40 0x0a
>>>> +#define B43_PHYTYPE_AC 0x0b
>>>>
>>>> /* PHYRegisters */
>>>> #define B43_PHY_ILT_A_CTRL 0x0072
>>>> diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c
>>>> index b80352b..a8f812b 100644
>>>> --- a/drivers/net/wireless/b43/main.c
>>>> +++ b/drivers/net/wireless/b43/main.c
>>>> @@ -4277,6 +4277,35 @@ out:
>>>> return err;
>>>> }
>>>>
>>>> +static char *b43_phy_name(struct b43_wldev *dev, u8 phy_type)
>>>> +{
>>>> + switch (phy_type) {
>>>> + case B43_PHYTYPE_A:
>>>> + return "A";
>>>> + case B43_PHYTYPE_B:
>>>> + return "B";
>>>> + case B43_PHYTYPE_G:
>>>> + return "G";
>>>> + case B43_PHYTYPE_N:
>>>> + return "N";
>>>> + case B43_PHYTYPE_LP:
>>>> + return "LP";
>>>> + case B43_PHYTYPE_SSLPN:
>>>> + return "SSLPN";
>>>> + case B43_PHYTYPE_HT:
>>>> + return "HT";
>>>> + case B43_PHYTYPE_LCN:
>>>> + return "LCN";
>>>> + case B43_PHYTYPE_LCNXN:
>>>> + return "LCNXN";
>>>> + case B43_PHYTYPE_LCN40:
>>>> + return "LCN40";
>>>> + case B43_PHYTYPE_AC:
>>>> + return "AC";
>>>> + }
>>>> + return "UNKNOWN";
>>>
>>> How about putting the PHY type ID into the string in the Unknown case?
>>> Or will it be printed somewhere else?
>>
>> Hm, maybe I don't see something obvious. How would you do that? Using
>> which function?
>>
>
> No need to, it is done here:
> b43info(dev->wl, "Found PHY: Analog %u, Type %d (%s), Revision %u\n",
> analog_type, phy_type, b43_phy_name(dev, phy_type), phy_rev);
Still, at least for my curiosity, is there a way to achieve what Gabor
suggested? Can we return dynamically-filled string in a function?
--
Rafał
More information about the b43-dev
mailing list