222 lines
6.8 KiB
Diff
222 lines
6.8 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"
|
|
--- /dev/null
|
|
+++ b/include/linux/bcm47xx_nvram.h
|
|
@@ -0,0 +1,34 @@
|
|
+/*
|
|
+ * 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>
|
|
+
|
|
+#ifdef CONFIG_BCM47XX
|
|
+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);
|
|
+#else
|
|
+static inline int bcm47xx_nvram_init_from_mem(u32 base, u32 lim)
|
|
+{
|
|
+ return -ENOTSUPP;
|
|
+};
|
|
+static inline int bcm47xx_nvram_getenv(const char *name, char *val,
|
|
+ size_t val_len)
|
|
+{
|
|
+ return -ENOTSUPP;
|
|
+};
|
|
+static inline int bcm47xx_nvram_gpio_pin(const char *name)
|
|
+{
|
|
+ return -ENOTSUPP;
|
|
+};
|
|
+#endif
|
|
+
|
|
+#endif /* __BCM47XX_NVRAM_H */
|