[PATCH 2/2] Using LP firmware for taking advantage of the low-power capabilities.

Larry Finger Larry.Finger at lwfinger.net
Wed Sep 19 11:08:33 EDT 2012


On 09/19/2012 06:18 AM, Jarl Friis wrote:
> This is using the LP specific firmware to better take advantage of the
> Low-Power capabilities.
>
> Signed-off-by: Jarl Friis <jarl at softace.dk>
> ---
>   drivers/net/wireless/b43/main.c |   16 ++++++++++++++--
>   1 file changed, 14 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c
> index 202a0eb..9ee6030 100644
> --- a/drivers/net/wireless/b43/main.c
> +++ b/drivers/net/wireless/b43/main.c
> @@ -8,6 +8,7 @@
>     Copyright (c) 2005 Danny van Dyk <kugelfang at gentoo.org>
>     Copyright (c) 2005 Andreas Jaggi <andreas.jaggi at waterwave.ch>
>     Copyright (c) 2010-2011 Rafał Miłecki <zajec5 at gmail.com>
> +  Copyright (c) 2012 Jarl Friis <jarl at softace.dk>
>
>     SDIO support
>     Copyright (c) 2009 Albert Herranz <albert_herranz at yahoo.es>
> @@ -72,6 +73,7 @@ MODULE_FIRMWARE("b43/ucode11.fw");
>   MODULE_FIRMWARE("b43/ucode13.fw");
>   MODULE_FIRMWARE("b43/ucode14.fw");
>   MODULE_FIRMWARE("b43/ucode15.fw");
> +MODULE_FIRMWARE("b43/ucode16_lp.fw");
>   MODULE_FIRMWARE("b43/ucode16_mimo.fw");
>   MODULE_FIRMWARE("b43/ucode5.fw");
>   MODULE_FIRMWARE("b43/ucode9.fw");
> @@ -2208,6 +2210,12 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx)
>   			else
>   				goto err_no_ucode;
>   			break;
> +		case B43_PHYTYPE_LP:
> +			if (rev >= 16)
> +				filename = "ucode16_lp";
> +			else
> +				goto err_no_ucode;
> +			break;
>   		case B43_PHYTYPE_HT:
>   			if (rev == 29)
>   				filename = "ucode29_mimo";
> @@ -2277,8 +2285,10 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx)
>   			filename = "lp0initvals13";
>   		else if (rev == 14)
>   			filename = "lp0initvals14";
> -		else if (rev >= 15)
> +		else if (rev == 15)
>   			filename = "lp0initvals15";
> +		else if (rev >= 16)
> +			filename = "lp0initvals16";
>   		else
>   			goto err_no_initvals;
>   		break;
> @@ -2336,8 +2346,10 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx)
>   			filename = "lp0bsinitvals13";
>   		else if (rev == 14)
>   			filename = "lp0bsinitvals14";
> -		else if (rev >= 15)
> +		else if (rev == 15)
>   			filename = "lp0bsinitvals15";
> +		else if (rev >= 16)
> +			filename = "lp0bsinitvals16";
>   		else
>   			goto err_no_initvals;
>   		break;

I have some questions about this patch. Where did you get the information needed 
to make these changes? Did it come from reverse engineering some Broadcom code, 
or did you look at their actual code? There is a great deal of difference 
relative to our "clean-room" status. Anyone that has seen non-GPL Broadcom 
material cannot contribute code to b43.

Have you tested this code on devices with rev>=16?

Now for some comments: This patch also needs the "b43:" added to the subject. In 
addition, you appear to have at least one white-space error in the 
MODULE_FIRMWARE line. Is the addition of your copyright to the driver warranted 
by this change? For example, I have made much larger contributions to b43 over 
the years before I started doing reverse-engineering on this driver, but I never 
added my copyright. Your "Signed-off-by" implies copyright for the patch.

Larry




More information about the b43-dev mailing list