1 /* SPDX-License-Identifier: GPL-2.0-or-later */
5 #ifndef __BCM47XX_NVRAM_H
6 #define __BCM47XX_NVRAM_H
8 #include <linux/errno.h>
9 #include <linux/types.h>
10 #include <linux/kernel.h>
11 #include <linux/vmalloc.h>
13 #ifdef CONFIG_BCM47XX_NVRAM
14 int bcm47xx_nvram_init_from_iomem(void __iomem *nvram_start, size_t res_size);
15 int bcm47xx_nvram_init_from_mem(u32 base, u32 lim);
16 int bcm47xx_nvram_getenv(const char *name, char *val, size_t val_len);
17 int bcm47xx_nvram_gpio_pin(const char *name);
18 char *bcm47xx_nvram_get_contents(size_t *val_len);
19 static inline void bcm47xx_nvram_release_contents(char *nvram)
24 static inline int bcm47xx_nvram_init_from_iomem(void __iomem *nvram_start,
29 static inline int bcm47xx_nvram_init_from_mem(u32 base, u32 lim)
33 static inline int bcm47xx_nvram_getenv(const char *name, char *val,
38 static inline int bcm47xx_nvram_gpio_pin(const char *name)
43 static inline char *bcm47xx_nvram_get_contents(size_t *val_len)
48 static inline void bcm47xx_nvram_release_contents(char *nvram)
53 #endif /* __BCM47XX_NVRAM_H */