compat-wireless/backports now contains a bcm47xx_nvram.h file to backport some of the functions in it which are used by the bcmfmac driver. This file just checks for the kernel versions and provide an empty implementations on older kernel versions. This is OK on most systems, but on bcm47xx / bcm53xx systems we want to call the real functions here. This commit removes the file from backports in our build process like we do it with the bcma and ssb header files. Instead we add a recent version into our kernel so all code uses only one header file. On bcm47xx / bcm53xx the real implementations of this code will be used. Reported-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> [Backport of r47467. The recent mac80211 backport was missing this patch, breaking the build of the brcmfmac module] Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net> SVN-Revision: 48831
185 lines
5.9 KiB
Diff
185 lines
5.9 KiB
Diff
From 138173d4e826587da66c7d321da1a91283222536 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com>
|
|
Date: Mon, 1 Dec 2014 07:58:18 +0100
|
|
Subject: [PATCH] MIPS: BCM47xx: Move NVRAM header to the include/linux/.
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
There are two reasons for having this header in the common place:
|
|
1) Simplifying drivers that read NVRAM entries. We will be able to
|
|
safely call bcm47xx_nvram_* functions without #ifdef-s.
|
|
2) Getting NVRAM driver out of MIPS arch code. This is needed to support
|
|
BCM5301X arch which also requires this NVRAM driver. Patch for that
|
|
will follow once we get is reviewed.
|
|
|
|
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
|
|
Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
Cc: linux-mips@linux-mips.org
|
|
Cc: Arnd Bergmann <arnd@arndb.de>
|
|
Cc: Paul Walmsley <paul@pwsan.com>
|
|
Cc: linux-soc@vger.kernel.org
|
|
Patchwork: https://patchwork.linux-mips.org/patch/8619/
|
|
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
|
---
|
|
arch/mips/bcm47xx/board.c | 2 +-
|
|
arch/mips/bcm47xx/nvram.c | 2 +-
|
|
arch/mips/bcm47xx/setup.c | 1 -
|
|
arch/mips/bcm47xx/sprom.c | 1 -
|
|
arch/mips/bcm47xx/time.c | 1 -
|
|
arch/mips/include/asm/mach-bcm47xx/bcm47xx.h | 1 +
|
|
arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h | 21 -------------
|
|
drivers/bcma/driver_mips.c | 2 +-
|
|
drivers/net/ethernet/broadcom/b44.c | 2 +-
|
|
drivers/net/ethernet/broadcom/bgmac.c | 2 +-
|
|
drivers/ssb/driver_chipcommon_pmu.c | 2 +-
|
|
drivers/ssb/driver_mipscore.c | 2 +-
|
|
include/linux/bcm47xx_nvram.h | 34 ++++++++++++++++++++++
|
|
13 files changed, 42 insertions(+), 31 deletions(-)
|
|
delete mode 100644 arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h
|
|
create mode 100644 include/linux/bcm47xx_nvram.h
|
|
|
|
--- a/arch/mips/bcm47xx/board.c
|
|
+++ b/arch/mips/bcm47xx/board.c
|
|
@@ -1,8 +1,8 @@
|
|
#include <linux/errno.h>
|
|
#include <linux/export.h>
|
|
#include <linux/string.h>
|
|
+#include <bcm47xx.h>
|
|
#include <bcm47xx_board.h>
|
|
-#include <bcm47xx_nvram.h>
|
|
|
|
struct bcm47xx_board_type {
|
|
const enum bcm47xx_board board;
|
|
--- a/arch/mips/bcm47xx/nvram.c
|
|
+++ b/arch/mips/bcm47xx/nvram.c
|
|
@@ -16,7 +16,7 @@
|
|
#include <linux/kernel.h>
|
|
#include <linux/string.h>
|
|
#include <linux/mtd/mtd.h>
|
|
-#include <bcm47xx_nvram.h>
|
|
+#include <linux/bcm47xx_nvram.h>
|
|
|
|
#define NVRAM_MAGIC 0x48534C46 /* 'FLSH' */
|
|
#define NVRAM_SPACE 0x8000
|
|
--- a/arch/mips/bcm47xx/setup.c
|
|
+++ b/arch/mips/bcm47xx/setup.c
|
|
@@ -42,7 +42,6 @@
|
|
#include <asm/reboot.h>
|
|
#include <asm/time.h>
|
|
#include <bcm47xx.h>
|
|
-#include <bcm47xx_nvram.h>
|
|
#include <bcm47xx_board.h>
|
|
|
|
union bcm47xx_bus bcm47xx_bus;
|
|
--- a/arch/mips/bcm47xx/sprom.c
|
|
+++ b/arch/mips/bcm47xx/sprom.c
|
|
@@ -27,7 +27,6 @@
|
|
*/
|
|
|
|
#include <bcm47xx.h>
|
|
-#include <bcm47xx_nvram.h>
|
|
#include <linux/if_ether.h>
|
|
#include <linux/etherdevice.h>
|
|
|
|
--- a/arch/mips/bcm47xx/time.c
|
|
+++ b/arch/mips/bcm47xx/time.c
|
|
@@ -27,7 +27,6 @@
|
|
#include <linux/ssb/ssb.h>
|
|
#include <asm/time.h>
|
|
#include <bcm47xx.h>
|
|
-#include <bcm47xx_nvram.h>
|
|
#include <bcm47xx_board.h>
|
|
|
|
void __init plat_time_init(void)
|
|
--- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx.h
|
|
+++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx.h
|
|
@@ -22,6 +22,7 @@
|
|
#include <linux/ssb/ssb.h>
|
|
#include <linux/bcma/bcma.h>
|
|
#include <linux/bcma/bcma_soc.h>
|
|
+#include <linux/bcm47xx_nvram.h>
|
|
|
|
enum bcm47xx_bus_type {
|
|
#ifdef CONFIG_BCM47XX_SSB
|
|
--- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h
|
|
+++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h
|
|
@@ -1,21 +1 @@
|
|
-/*
|
|
- * Copyright (C) 2005, Broadcom Corporation
|
|
- * Copyright (C) 2006, Felix Fietkau <nbd@openwrt.org>
|
|
- *
|
|
- * This program is free software; you can redistribute it and/or modify it
|
|
- * under the terms of the GNU General Public License as published by the
|
|
- * Free Software Foundation; either version 2 of the License, or (at your
|
|
- * option) any later version.
|
|
- */
|
|
-
|
|
-#ifndef __BCM47XX_NVRAM_H
|
|
-#define __BCM47XX_NVRAM_H
|
|
-
|
|
-#include <linux/types.h>
|
|
-#include <linux/kernel.h>
|
|
-
|
|
-int bcm47xx_nvram_init_from_mem(u32 base, u32 lim);
|
|
-int bcm47xx_nvram_getenv(const char *name, char *val, size_t val_len);
|
|
-int bcm47xx_nvram_gpio_pin(const char *name);
|
|
-
|
|
-#endif /* __BCM47XX_NVRAM_H */
|
|
+#include <linux/bcm47xx_nvram.h>
|
|
--- a/drivers/bcma/driver_mips.c
|
|
+++ b/drivers/bcma/driver_mips.c
|
|
@@ -21,7 +21,7 @@
|
|
#include <linux/serial_reg.h>
|
|
#include <linux/time.h>
|
|
#ifdef CONFIG_BCM47XX
|
|
-#include <bcm47xx_nvram.h>
|
|
+#include <linux/bcm47xx_nvram.h>
|
|
#endif
|
|
|
|
enum bcma_boot_dev {
|
|
--- a/drivers/net/ethernet/broadcom/b44.c
|
|
+++ b/drivers/net/ethernet/broadcom/b44.c
|
|
@@ -400,7 +400,7 @@ static void b44_set_flow_ctrl(struct b44
|
|
}
|
|
|
|
#ifdef CONFIG_BCM47XX
|
|
-#include <bcm47xx_nvram.h>
|
|
+#include <linux/bcm47xx_nvram.h>
|
|
static void b44_wap54g10_workaround(struct b44 *bp)
|
|
{
|
|
char buf[20];
|
|
--- a/drivers/net/ethernet/broadcom/bgmac.c
|
|
+++ b/drivers/net/ethernet/broadcom/bgmac.c
|
|
@@ -18,7 +18,7 @@
|
|
#include <linux/interrupt.h>
|
|
#include <linux/dma-mapping.h>
|
|
#include <linux/platform_data/b53.h>
|
|
-#include <bcm47xx_nvram.h>
|
|
+#include <linux/bcm47xx_nvram.h>
|
|
|
|
static const struct bcma_device_id bgmac_bcma_tbl[] = {
|
|
BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_4706_MAC_GBIT, BCMA_ANY_REV, BCMA_ANY_CLASS),
|
|
--- a/drivers/ssb/driver_chipcommon_pmu.c
|
|
+++ b/drivers/ssb/driver_chipcommon_pmu.c
|
|
@@ -14,7 +14,7 @@
|
|
#include <linux/delay.h>
|
|
#include <linux/export.h>
|
|
#ifdef CONFIG_BCM47XX
|
|
-#include <bcm47xx_nvram.h>
|
|
+#include <linux/bcm47xx_nvram.h>
|
|
#endif
|
|
|
|
#include "ssb_private.h"
|
|
--- a/drivers/ssb/driver_mipscore.c
|
|
+++ b/drivers/ssb/driver_mipscore.c
|
|
@@ -16,7 +16,7 @@
|
|
#include <linux/serial_reg.h>
|
|
#include <linux/time.h>
|
|
#ifdef CONFIG_BCM47XX
|
|
-#include <bcm47xx_nvram.h>
|
|
+#include <linux/bcm47xx_nvram.h>
|
|
#endif
|
|
|
|
#include "ssb_private.h"
|