From patchwork Sat Nov 27 16:47:43 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hauke Mehrtens X-Patchwork-Id: 73279 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id D9C14B70D6 for ; Sun, 28 Nov 2010 03:56:32 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753008Ab0K0Q4J (ORCPT ); Sat, 27 Nov 2010 11:56:09 -0500 Received: from server19320154104.serverpool.info ([193.201.54.104]:56431 "EHLO hauke-m.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752944Ab0K0Q4H (ORCPT ); Sat, 27 Nov 2010 11:56:07 -0500 X-Greylist: delayed 475 seconds by postgrey-1.27 at vger.kernel.org; Sat, 27 Nov 2010 11:56:07 EST Received: from localhost (localhost [127.0.0.1]) by hauke-m.de (Postfix) with ESMTP id B967C87AA; Sat, 27 Nov 2010 17:48:10 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at hauke-m.de Received: from hauke-m.de ([127.0.0.1]) by localhost (hauke-m.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id uBXLijV6UZmH; Sat, 27 Nov 2010 17:48:07 +0100 (CET) Received: from localhost.localdomain (host-091-097-248-055.ewe-ip-backbone.de [91.97.248.55]) by hauke-m.de (Postfix) with ESMTPSA id D1B548799; Sat, 27 Nov 2010 17:48:06 +0100 (CET) From: Hauke Mehrtens To: zambrano@broadcom.com Cc: netdev@vger.kernel.org, Hauke Mehrtens Subject: [PATCH] b44: fix workarround for wap54g10 Date: Sat, 27 Nov 2010 17:47:43 +0100 Message-Id: <1290876463-4372-1-git-send-email-hauke@hauke-m.de> X-Mailer: git-send-email 1.7.1 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The code for the b44_wap54g10_workaround was never included, because the config option was wrong. The nvram_get function was never in mainline kernel, only in external OpenWrt patches. The code should be compiled in when CONFIG_BCM47XX is selected and not when CONFIG_SSB_DRIVER_MIPS is selected, because nvram_getenv is only available on bcm47xx platforms and now in the mainline kernel code. Using an include is better than a second function declaration, to fix this when the function signature changes. Signed-off-by: Hauke Mehrtens --- drivers/net/b44.c | 11 +++++------ 1 files changed, 5 insertions(+), 6 deletions(-) diff --git a/drivers/net/b44.c b/drivers/net/b44.c index c6e8631..2e2b762 100644 --- a/drivers/net/b44.c +++ b/drivers/net/b44.c @@ -381,11 +381,11 @@ static void b44_set_flow_ctrl(struct b44 *bp, u32 local, u32 remote) __b44_set_flow_ctrl(bp, pause_enab); } -#ifdef SSB_DRIVER_MIPS -extern char *nvram_get(char *name); +#ifdef CONFIG_BCM47XX +#include static void b44_wap54g10_workaround(struct b44 *bp) { - const char *str; + char buf[20]; u32 val; int err; @@ -394,10 +394,9 @@ static void b44_wap54g10_workaround(struct b44 *bp) * see https://dev.openwrt.org/ticket/146 * check and reset bit "isolate" */ - str = nvram_get("boardnum"); - if (!str) + if (nvram_getenv("boardnum", buf, sizeof(buf)) < 0) return; - if (simple_strtoul(str, NULL, 0) == 2) { + if (simple_strtoul(buf, NULL, 0) == 2) { err = __b44_readphy(bp, 0, MII_BMCR, &val); if (err) goto error;