Linux MIPS Architecture development
 help / color / mirror / Atom feed
* [PATCH] MIPS: BCM47XX: Move NVRAM header to the include/linux/
@ 2014-12-01  6:58 Rafał Miłecki
  2014-12-01  8:23 ` Hauke Mehrtens
  0 siblings, 1 reply; 2+ messages in thread
From: Rafał Miłecki @ 2014-12-01  6:58 UTC (permalink / raw)
  To: linux-mips, Ralf Baechle
  Cc: Hauke Mehrtens, Arnd Bergmann, Paul Walmsley, linux-soc,
	Rafał Miłecki

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>
---
Hi guys,

As recently discussed (thanks Paul!), we will try yet another (3rd) path for our
NVRAM driver, this time it will be drivers/firmware/.
However this will require some time as I want to give ppl chance to review it
and probably we will need to discuss it too.

So meanwhile I'd like to move just a header file to the include/linux/. I
believe it won't raise any/too many objections and it should strip down
further discussions about bcm47xx_nvram.c.
---
 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 +
 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 +-
 .../mach-bcm47xx => include/linux}/bcm47xx_nvram.h    | 19 ++++++++++++++++---
 12 files changed, 24 insertions(+), 13 deletions(-)
 rename {arch/mips/include/asm/mach-bcm47xx => include/linux}/bcm47xx_nvram.h (63%)

diff --git a/arch/mips/bcm47xx/board.c b/arch/mips/bcm47xx/board.c
index b3ae068..6e85130 100644
--- 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;
diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
index c5c381c..65da3b0 100644
--- 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
diff --git a/arch/mips/bcm47xx/setup.c b/arch/mips/bcm47xx/setup.c
index e43b504..b26c9c2 100644
--- 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;
diff --git a/arch/mips/bcm47xx/sprom.c b/arch/mips/bcm47xx/sprom.c
index 2eff7fe..a077ed2 100644
--- 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>
 
diff --git a/arch/mips/bcm47xx/time.c b/arch/mips/bcm47xx/time.c
index 2c85d92..5b46510 100644
--- 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)
diff --git a/arch/mips/include/asm/mach-bcm47xx/bcm47xx.h b/arch/mips/include/asm/mach-bcm47xx/bcm47xx.h
index 7527c1d..8ed77f6 100644
--- 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
diff --git a/drivers/bcma/driver_mips.c b/drivers/bcma/driver_mips.c
index 8a653dc..15e278f 100644
--- 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 {
diff --git a/drivers/net/ethernet/broadcom/b44.c b/drivers/net/ethernet/broadcom/b44.c
index 416620f..2095062 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)
 }
 
 #ifdef CONFIG_BCM47XX
-#include <bcm47xx_nvram.h>
+#include <linux/bcm47xx_nvram.h>
 static void b44_wap54g10_workaround(struct b44 *bp)
 {
 	char buf[20];
diff --git a/drivers/net/ethernet/broadcom/bgmac.c b/drivers/net/ethernet/broadcom/bgmac.c
index 05c6af6..bdda57b 100644
--- a/drivers/net/ethernet/broadcom/bgmac.c
+++ b/drivers/net/ethernet/broadcom/bgmac.c
@@ -16,7 +16,7 @@
 #include <linux/phy.h>
 #include <linux/interrupt.h>
 #include <linux/dma-mapping.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),
diff --git a/drivers/ssb/driver_chipcommon_pmu.c b/drivers/ssb/driver_chipcommon_pmu.c
index 1173a09..0942841 100644
--- 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"
diff --git a/drivers/ssb/driver_mipscore.c b/drivers/ssb/driver_mipscore.c
index 7b986f9..f87efef 100644
--- 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"
diff --git a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h b/include/linux/bcm47xx_nvram.h
similarity index 63%
rename from arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h
rename to include/linux/bcm47xx_nvram.h
index ee59ffe..b12b07e 100644
--- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h
+++ b/include/linux/bcm47xx_nvram.h
@@ -1,7 +1,4 @@
 /*
- *  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
@@ -14,8 +11,24 @@
 #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 */
-- 
1.8.4.5

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] MIPS: BCM47XX: Move NVRAM header to the include/linux/
  2014-12-01  6:58 [PATCH] MIPS: BCM47XX: Move NVRAM header to the include/linux/ Rafał Miłecki
@ 2014-12-01  8:23 ` Hauke Mehrtens
  0 siblings, 0 replies; 2+ messages in thread
From: Hauke Mehrtens @ 2014-12-01  8:23 UTC (permalink / raw)
  To: Rafał Miłecki, linux-mips, Ralf Baechle
  Cc: Arnd Bergmann, Paul Walmsley, linux-soc

On 12/01/2014 07:58 AM, Rafał Miłecki wrote:
> 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>
> ---
> Hi guys,
> 
> As recently discussed (thanks Paul!), we will try yet another (3rd) path for our
> NVRAM driver, this time it will be drivers/firmware/.
> However this will require some time as I want to give ppl chance to review it
> and probably we will need to discuss it too.
> 
> So meanwhile I'd like to move just a header file to the include/linux/. I
> believe it won't raise any/too many objections and it should strip down
> further discussions about bcm47xx_nvram.c.
> ---
>  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 +
>  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 +-
>  .../mach-bcm47xx => include/linux}/bcm47xx_nvram.h    | 19 ++++++++++++++++---
>  12 files changed, 24 insertions(+), 13 deletions(-)
>  rename {arch/mips/include/asm/mach-bcm47xx => include/linux}/bcm47xx_nvram.h (63%)

Acked-by: Hauke Mehrtens <hauke@hauke-m.de>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-12-01  8:23 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-01  6:58 [PATCH] MIPS: BCM47XX: Move NVRAM header to the include/linux/ Rafał Miłecki
2014-12-01  8:23 ` Hauke Mehrtens

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox