mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-22 00:40:03 +00:00
![Rafał Miłecki](/assets/img/avatar_default.png)
After Broadcom switched from MIPS to ARM for their home routers we need to have NVRAM driver in some common place (not arch/mips/). As explained in Kconfig, this driver is responsible for parsing SoC configuration data that is passed to the kernel in flash from the bootloader firmware called "CFE". We were thinking about putting it in bus directory, however there are two possible buses for MIPS: drivers/ssb/ and drivers/bcma/. So this won't fit there and this is why I would like to move this driver to the drivers/firmware/. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Reviewed-by: Paul Walmsley <paul@pwsan.com> Cc: linux-mips@linux-mips.org Cc: Hauke Mehrtens <hauke@hauke-m.de> Cc: Seiji Aguchi <seiji.aguchi@hds.com> Cc: Greg Kroah-Hartman <gregkh@suse.de> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Mike Waychison <mikew@google.com> Cc: Roy Franz <roy.franz@linaro.org> Cc: Matt Fleming <matt.fleming@intel.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Patchwork: https://patchwork.linux-mips.org/patch/10544/ 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_NVRAM
|
|
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 */
|