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 */