public inbox for b43-dev@lists.infradead.org
 help / color / mirror / Atom feed
* [PATCH V3] b43: be more user friendly with PHY info
  2012-07-26  6:16 [PATCH V3] b43: be more user friendly with PHY info Rafał Miłecki
@ 2012-07-26  6:01 ` Gábor Stefanik
  2012-07-26  6:10   ` Rafał Miłecki
  0 siblings, 1 reply; 8+ messages in thread
From: Gábor Stefanik @ 2012-07-26  6:01 UTC (permalink / raw)
  To: Rafał Miłecki; +Cc: linux-wireless, John W. Linville, b43-dev

On Thu, Jul 26, 2012 at 8:16 AM, Rafa? Mi?ecki <zajec5@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@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?

> +}
> +
>  /* Get PHY and RADIO versioning numbers */
>  static int b43_phy_versioning(struct b43_wldev *dev)
>  {
> @@ -4337,13 +4366,13 @@ static int b43_phy_versioning(struct b43_wldev *dev)
>                 unsupported = 1;
>         }
>         if (unsupported) {
> -               b43err(dev->wl, "FOUND UNSUPPORTED PHY "
> -                      "(Analog %u, Type %u, Revision %u)\n",
> -                      analog_type, phy_type, phy_rev);
> +               b43err(dev->wl, "FOUND UNSUPPORTED PHY (Analog %u, Type %d (%s), Revision %u)\n",
> +                      analog_type, phy_type, b43_phy_name(dev, phy_type),
> +                      phy_rev);
>                 return -EOPNOTSUPP;
>         }
> -       b43dbg(dev->wl, "Found PHY: Analog %u, Type %u, Revision %u\n",
> -              analog_type, phy_type, phy_rev);
> +       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);
>
>         /* Get RADIO versioning */
>         if (dev->dev->core_rev >= 24) {
> --
> 1.7.7
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html



-- 
Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-)

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH V3] b43: be more user friendly with PHY info
  2012-07-26  6:01 ` Gábor Stefanik
@ 2012-07-26  6:10   ` Rafał Miłecki
  2012-07-26  6:22     ` Oleksij Rempel
  0 siblings, 1 reply; 8+ messages in thread
From: Rafał Miłecki @ 2012-07-26  6:10 UTC (permalink / raw)
  To: Gábor Stefanik; +Cc: linux-wireless, John W. Linville, b43-dev

2012/7/26 G?bor Stefanik <netrolller.3d@gmail.com>:
> On Thu, Jul 26, 2012 at 8:16 AM, Rafa? Mi?ecki <zajec5@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@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?

-- 
Rafa?

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH V3] b43: be more user friendly with PHY info
@ 2012-07-26  6:16 Rafał Miłecki
  2012-07-26  6:01 ` Gábor Stefanik
  0 siblings, 1 reply; 8+ messages in thread
From: Rafał Miłecki @ 2012-07-26  6:16 UTC (permalink / raw)
  To: linux-wireless, John W. Linville; +Cc: b43-dev, Rafał Miłecki

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@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";
+}
+
 /* Get PHY and RADIO versioning numbers */
 static int b43_phy_versioning(struct b43_wldev *dev)
 {
@@ -4337,13 +4366,13 @@ static int b43_phy_versioning(struct b43_wldev *dev)
 		unsupported = 1;
 	}
 	if (unsupported) {
-		b43err(dev->wl, "FOUND UNSUPPORTED PHY "
-		       "(Analog %u, Type %u, Revision %u)\n",
-		       analog_type, phy_type, phy_rev);
+		b43err(dev->wl, "FOUND UNSUPPORTED PHY (Analog %u, Type %d (%s), Revision %u)\n",
+		       analog_type, phy_type, b43_phy_name(dev, phy_type),
+		       phy_rev);
 		return -EOPNOTSUPP;
 	}
-	b43dbg(dev->wl, "Found PHY: Analog %u, Type %u, Revision %u\n",
-	       analog_type, phy_type, phy_rev);
+	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);
 
 	/* Get RADIO versioning */
 	if (dev->dev->core_rev >= 24) {
-- 
1.7.7

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH V3] b43: be more user friendly with PHY info
  2012-07-26  6:10   ` Rafał Miłecki
@ 2012-07-26  6:22     ` Oleksij Rempel
  2012-07-26  6:50       ` Rafał Miłecki
  0 siblings, 1 reply; 8+ messages in thread
From: Oleksij Rempel @ 2012-07-26  6:22 UTC (permalink / raw)
  To: b43-dev

Am 26.07.2012 08:10, schrieb Rafa? Mi?ecki:
> 2012/7/26 G?bor Stefanik <netrolller.3d@gmail.com>:
>> On Thu, Jul 26, 2012 at 8:16 AM, Rafa? Mi?ecki <zajec5@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@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);

-- 
Regards,
Oleksij

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH V3] b43: be more user friendly with PHY info
  2012-07-26  6:22     ` Oleksij Rempel
@ 2012-07-26  6:50       ` Rafał Miłecki
  2012-07-26  7:32         ` Oleksij Rempel
  0 siblings, 1 reply; 8+ messages in thread
From: Rafał Miłecki @ 2012-07-26  6:50 UTC (permalink / raw)
  To: b43-dev

2012/7/26 Oleksij Rempel <bug-track@fisher-privat.net>:
> Am 26.07.2012 08:10, schrieb Rafa? Mi?ecki:
>> 2012/7/26 G?bor Stefanik <netrolller.3d@gmail.com>:
>>> On Thu, Jul 26, 2012 at 8:16 AM, Rafa? Mi?ecki <zajec5@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@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?

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH V3] b43: be more user friendly with PHY info
  2012-07-26  6:50       ` Rafał Miłecki
@ 2012-07-26  7:32         ` Oleksij Rempel
  2012-07-26  7:37           ` Rafał Miłecki
  0 siblings, 1 reply; 8+ messages in thread
From: Oleksij Rempel @ 2012-07-26  7:32 UTC (permalink / raw)
  To: b43-dev

Am 26.07.2012 08:50, schrieb Rafa? Mi?ecki:
> 2012/7/26 Oleksij Rempel <bug-track@fisher-privat.net>:
>> Am 26.07.2012 08:10, schrieb Rafa? Mi?ecki:
>>> 2012/7/26 G?bor Stefanik <netrolller.3d@gmail.com>:
>>>> On Thu, Jul 26, 2012 at 8:16 AM, Rafa? Mi?ecki <zajec5@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@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?
> 

int sprintf(char *str, const char *format, ...);
int snprintf(char *str, size_t size, const char *format, ...);

-- 
Regards,
Oleksij

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH V3] b43: be more user friendly with PHY info
  2012-07-26  7:32         ` Oleksij Rempel
@ 2012-07-26  7:37           ` Rafał Miłecki
  2012-07-26  7:37             ` Rafał Miłecki
  0 siblings, 1 reply; 8+ messages in thread
From: Rafał Miłecki @ 2012-07-26  7:37 UTC (permalink / raw)
  To: b43-dev

2012/7/26 Oleksij Rempel <bug-track@fisher-privat.net>:
> Am 26.07.2012 08:50, schrieb Rafa? Mi?ecki:
>> 2012/7/26 Oleksij Rempel <bug-track@fisher-privat.net>:
>>> Am 26.07.2012 08:10, schrieb Rafa? Mi?ecki:
>>>> 2012/7/26 G?bor Stefanik <netrolller.3d@gmail.com>:
>>>>> On Thu, Jul 26, 2012 at 8:16 AM, Rafa? Mi?ecki <zajec5@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@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?
>>
>
> int sprintf(char *str, const char *format, ...);
> int snprintf(char *str, size_t size, const char *format, ...);

Yeah, but I can't use sprintf on locally-declared (inside function)
char array. Well, I can, but I can't result such an array.

So the solution is to declare char array in called, and pass that
array (and it's size) to the b43_phy_name.

Well, I really prefer Joe's solution implemented in V3 :)

-- 
Rafa?

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH V3] b43: be more user friendly with PHY info
  2012-07-26  7:37           ` Rafał Miłecki
@ 2012-07-26  7:37             ` Rafał Miłecki
  0 siblings, 0 replies; 8+ messages in thread
From: Rafał Miłecki @ 2012-07-26  7:37 UTC (permalink / raw)
  To: b43-dev

2012/7/26 Rafa? Mi?ecki <zajec5@gmail.com>:
> Yeah, but I can't use sprintf on locally-declared (inside function)
> char array. Well, I can, but I can't result such an array.

s/result/return/


> So the solution is to declare char array in called, and pass that
> array (and it's size) to the b43_phy_name.

s/called/caller/

-- 
Rafa?

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2012-07-26  7:37 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-26  6:16 [PATCH V3] b43: be more user friendly with PHY info Rafał Miłecki
2012-07-26  6:01 ` Gábor Stefanik
2012-07-26  6:10   ` Rafał Miłecki
2012-07-26  6:22     ` Oleksij Rempel
2012-07-26  6:50       ` Rafał Miłecki
2012-07-26  7:32         ` Oleksij Rempel
2012-07-26  7:37           ` Rafał Miłecki
2012-07-26  7:37             ` Rafał Miłecki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox