aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafał Miłecki <zajec5@gmail.com>2014-12-01 01:58:18 -0500
committerRalf Baechle <ralf@linux-mips.org>2015-04-01 11:22:00 -0400
commit138173d4e826587da66c7d321da1a91283222536 (patch)
treed19a3962cb04031f32a5fdf7778fac2bffd032da
parent5ae03b1220ac22b823d8414997329806db16020c (diff)
MIPS: BCM47xx: Move NVRAM header to the include/linux/.
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>
-rw-r--r--arch/mips/bcm47xx/board.c2
-rw-r--r--arch/mips/bcm47xx/nvram.c2
-rw-r--r--arch/mips/bcm47xx/setup.c1
-rw-r--r--arch/mips/bcm47xx/sprom.c1
-rw-r--r--arch/mips/bcm47xx/time.c1
-rw-r--r--arch/mips/include/asm/mach-bcm47xx/bcm47xx.h1
-rw-r--r--drivers/bcma/driver_mips.c2
-rw-r--r--drivers/net/ethernet/broadcom/b44.c2
-rw-r--r--drivers/net/ethernet/broadcom/bgmac.c2
-rw-r--r--drivers/ssb/driver_chipcommon_pmu.c2
-rw-r--r--drivers/ssb/driver_mipscore.c2
-rw-r--r--include/linux/bcm47xx_nvram.h (renamed from arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h)19
12 files changed, 24 insertions, 13 deletions
diff --git a/arch/mips/bcm47xx/board.c b/arch/mips/bcm47xx/board.c
index b3ae068ca4fa..6e8513068325 100644
--- a/arch/mips/bcm47xx/board.c
+++ b/arch/mips/bcm47xx/board.c
@@ -1,8 +1,8 @@
1#include <linux/errno.h> 1#include <linux/errno.h>
2#include <linux/export.h> 2#include <linux/export.h>
3#include <linux/string.h> 3#include <linux/string.h>
4#include <bcm47xx.h>
4#include <bcm47xx_board.h> 5#include <bcm47xx_board.h>
5#include <bcm47xx_nvram.h>
6 6
7struct bcm47xx_board_type { 7struct bcm47xx_board_type {
8 const enum bcm47xx_board board; 8 const enum bcm47xx_board board;
diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
index d805d8af415f..7c77a88eedf9 100644
--- a/arch/mips/bcm47xx/nvram.c
+++ b/arch/mips/bcm47xx/nvram.c
@@ -16,7 +16,7 @@
16#include <linux/kernel.h> 16#include <linux/kernel.h>
17#include <linux/string.h> 17#include <linux/string.h>
18#include <linux/mtd/mtd.h> 18#include <linux/mtd/mtd.h>
19#include <bcm47xx_nvram.h> 19#include <linux/bcm47xx_nvram.h>
20 20
21#define NVRAM_MAGIC 0x48534C46 /* 'FLSH' */ 21#define NVRAM_MAGIC 0x48534C46 /* 'FLSH' */
22#define NVRAM_SPACE 0x8000 22#define NVRAM_SPACE 0x8000
diff --git a/arch/mips/bcm47xx/setup.c b/arch/mips/bcm47xx/setup.c
index e43b5046cb30..b26c9c24275e 100644
--- a/arch/mips/bcm47xx/setup.c
+++ b/arch/mips/bcm47xx/setup.c
@@ -42,7 +42,6 @@
42#include <asm/reboot.h> 42#include <asm/reboot.h>
43#include <asm/time.h> 43#include <asm/time.h>
44#include <bcm47xx.h> 44#include <bcm47xx.h>
45#include <bcm47xx_nvram.h>
46#include <bcm47xx_board.h> 45#include <bcm47xx_board.h>
47 46
48union bcm47xx_bus bcm47xx_bus; 47union bcm47xx_bus bcm47xx_bus;
diff --git a/arch/mips/bcm47xx/sprom.c b/arch/mips/bcm47xx/sprom.c
index eff920560689..c114b0239758 100644
--- a/arch/mips/bcm47xx/sprom.c
+++ b/arch/mips/bcm47xx/sprom.c
@@ -27,7 +27,6 @@
27 */ 27 */
28 28
29#include <bcm47xx.h> 29#include <bcm47xx.h>
30#include <bcm47xx_nvram.h>
31#include <linux/if_ether.h> 30#include <linux/if_ether.h>
32#include <linux/etherdevice.h> 31#include <linux/etherdevice.h>
33 32
diff --git a/arch/mips/bcm47xx/time.c b/arch/mips/bcm47xx/time.c
index 2c85d9254b5e..5b46510daa7b 100644
--- a/arch/mips/bcm47xx/time.c
+++ b/arch/mips/bcm47xx/time.c
@@ -27,7 +27,6 @@
27#include <linux/ssb/ssb.h> 27#include <linux/ssb/ssb.h>
28#include <asm/time.h> 28#include <asm/time.h>
29#include <bcm47xx.h> 29#include <bcm47xx.h>
30#include <bcm47xx_nvram.h>
31#include <bcm47xx_board.h> 30#include <bcm47xx_board.h>
32 31
33void __init plat_time_init(void) 32void __init plat_time_init(void)
diff --git a/arch/mips/include/asm/mach-bcm47xx/bcm47xx.h b/arch/mips/include/asm/mach-bcm47xx/bcm47xx.h
index 7527c1d33d02..8ed77f618940 100644
--- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx.h
+++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx.h
@@ -22,6 +22,7 @@
22#include <linux/ssb/ssb.h> 22#include <linux/ssb/ssb.h>
23#include <linux/bcma/bcma.h> 23#include <linux/bcma/bcma.h>
24#include <linux/bcma/bcma_soc.h> 24#include <linux/bcma/bcma_soc.h>
25#include <linux/bcm47xx_nvram.h>
25 26
26enum bcm47xx_bus_type { 27enum bcm47xx_bus_type {
27#ifdef CONFIG_BCM47XX_SSB 28#ifdef CONFIG_BCM47XX_SSB
diff --git a/drivers/bcma/driver_mips.c b/drivers/bcma/driver_mips.c
index 04faf6df959f..24424f3fef96 100644
--- a/drivers/bcma/driver_mips.c
+++ b/drivers/bcma/driver_mips.c
@@ -21,7 +21,7 @@
21#include <linux/serial_reg.h> 21#include <linux/serial_reg.h>
22#include <linux/time.h> 22#include <linux/time.h>
23#ifdef CONFIG_BCM47XX 23#ifdef CONFIG_BCM47XX
24#include <bcm47xx_nvram.h> 24#include <linux/bcm47xx_nvram.h>
25#endif 25#endif
26 26
27enum bcma_boot_dev { 27enum bcma_boot_dev {
diff --git a/drivers/net/ethernet/broadcom/b44.c b/drivers/net/ethernet/broadcom/b44.c
index bd5916a60cb5..77363d680532 100644
--- 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 *bp, u32 local, u32 remote)
400} 400}
401 401
402#ifdef CONFIG_BCM47XX 402#ifdef CONFIG_BCM47XX
403#include <bcm47xx_nvram.h> 403#include <linux/bcm47xx_nvram.h>
404static void b44_wap54g10_workaround(struct b44 *bp) 404static void b44_wap54g10_workaround(struct b44 *bp)
405{ 405{
406 char buf[20]; 406 char buf[20];
diff --git a/drivers/net/ethernet/broadcom/bgmac.c b/drivers/net/ethernet/broadcom/bgmac.c
index 0469f72c6e7e..be059df8c852 100644
--- a/drivers/net/ethernet/broadcom/bgmac.c
+++ b/drivers/net/ethernet/broadcom/bgmac.c
@@ -16,7 +16,7 @@
16#include <linux/phy.h> 16#include <linux/phy.h>
17#include <linux/interrupt.h> 17#include <linux/interrupt.h>
18#include <linux/dma-mapping.h> 18#include <linux/dma-mapping.h>
19#include <bcm47xx_nvram.h> 19#include <linux/bcm47xx_nvram.h>
20 20
21static const struct bcma_device_id bgmac_bcma_tbl[] = { 21static const struct bcma_device_id bgmac_bcma_tbl[] = {
22 BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_4706_MAC_GBIT, BCMA_ANY_REV, BCMA_ANY_CLASS), 22 BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_4706_MAC_GBIT, BCMA_ANY_REV, BCMA_ANY_CLASS),
diff --git a/drivers/ssb/driver_chipcommon_pmu.c b/drivers/ssb/driver_chipcommon_pmu.c
index 1173a091b402..09428412139e 100644
--- a/drivers/ssb/driver_chipcommon_pmu.c
+++ b/drivers/ssb/driver_chipcommon_pmu.c
@@ -14,7 +14,7 @@
14#include <linux/delay.h> 14#include <linux/delay.h>
15#include <linux/export.h> 15#include <linux/export.h>
16#ifdef CONFIG_BCM47XX 16#ifdef CONFIG_BCM47XX
17#include <bcm47xx_nvram.h> 17#include <linux/bcm47xx_nvram.h>
18#endif 18#endif
19 19
20#include "ssb_private.h" 20#include "ssb_private.h"
diff --git a/drivers/ssb/driver_mipscore.c b/drivers/ssb/driver_mipscore.c
index 7b986f9f213f..f87efef42252 100644
--- a/drivers/ssb/driver_mipscore.c
+++ b/drivers/ssb/driver_mipscore.c
@@ -16,7 +16,7 @@
16#include <linux/serial_reg.h> 16#include <linux/serial_reg.h>
17#include <linux/time.h> 17#include <linux/time.h>
18#ifdef CONFIG_BCM47XX 18#ifdef CONFIG_BCM47XX
19#include <bcm47xx_nvram.h> 19#include <linux/bcm47xx_nvram.h>
20#endif 20#endif
21 21
22#include "ssb_private.h" 22#include "ssb_private.h"
diff --git a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h b/include/linux/bcm47xx_nvram.h
index ee59ffe99922..b12b07e75929 100644
--- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h
+++ b/include/linux/bcm47xx_nvram.h
@@ -1,7 +1,4 @@
1/* 1/*
2 * Copyright (C) 2005, Broadcom Corporation
3 * Copyright (C) 2006, Felix Fietkau <nbd@openwrt.org>
4 *
5 * This program is free software; you can redistribute it and/or modify it 2 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License as published by the 3 * under the terms of the GNU General Public License as published by the
7 * Free Software Foundation; either version 2 of the License, or (at your 4 * Free Software Foundation; either version 2 of the License, or (at your
@@ -14,8 +11,24 @@
14#include <linux/types.h> 11#include <linux/types.h>
15#include <linux/kernel.h> 12#include <linux/kernel.h>
16 13
14#ifdef CONFIG_BCM47XX
17int bcm47xx_nvram_init_from_mem(u32 base, u32 lim); 15int bcm47xx_nvram_init_from_mem(u32 base, u32 lim);
18int bcm47xx_nvram_getenv(const char *name, char *val, size_t val_len); 16int bcm47xx_nvram_getenv(const char *name, char *val, size_t val_len);
19int bcm47xx_nvram_gpio_pin(const char *name); 17int bcm47xx_nvram_gpio_pin(const char *name);
18#else
19static inline int bcm47xx_nvram_init_from_mem(u32 base, u32 lim)
20{
21 return -ENOTSUPP;
22};
23static inline int bcm47xx_nvram_getenv(const char *name, char *val,
24 size_t val_len)
25{
26 return -ENOTSUPP;
27};
28static inline int bcm47xx_nvram_gpio_pin(const char *name)
29{
30 return -ENOTSUPP;
31};
32#endif
20 33
21#endif /* __BCM47XX_NVRAM_H */ 34#endif /* __BCM47XX_NVRAM_H */