Host platforms such as routers supported by OpenWrt can support NVRAM reading directly from internal NVRAM store. The brcmfmac for one requires the complete nvram contents to select what needs to be sent to wireless device. Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Arend Van Spriel <arend@broadcom.com> Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Daniel (Deognyoun) Kim <dekim@broadcom.com> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/10093/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
49 lines
1.2 KiB
C
49 lines
1.2 KiB
C
/*
|
|
* 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>
|
|
#include <linux/vmalloc.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);
|
|
char *bcm47xx_nvram_get_contents(size_t *val_len);
|
|
static inline void bcm47xx_nvram_release_contents(char *nvram)
|
|
{
|
|
vfree(nvram);
|
|
};
|
|
#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;
|
|
};
|
|
|
|
static inline char *bcm47xx_nvram_get_contents(size_t *val_len)
|
|
{
|
|
return NULL;
|
|
};
|
|
|
|
static inline void bcm47xx_nvram_release_contents(char *nvram)
|
|
{
|
|
};
|
|
#endif
|
|
|
|
#endif /* __BCM47XX_NVRAM_H */
|