1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*
3 */
4
5#ifndef __BCM47XX_NVRAM_H
6#define __BCM47XX_NVRAM_H
7
8#include <linux/errno.h>
9#include <linux/types.h>
10#include <linux/kernel.h>
11#include <linux/vmalloc.h>
12
13#ifdef CONFIG_BCM47XX_NVRAM
14int bcm47xx_nvram_init_from_iomem(void __iomem *nvram_start, size_t res_size);
15int bcm47xx_nvram_init_from_mem(u32 base, u32 lim);
16int bcm47xx_nvram_getenv(const char *name, char *val, size_t val_len);
17int bcm47xx_nvram_gpio_pin(const char *name);
18char *bcm47xx_nvram_get_contents(size_t *val_len);
19static inline void bcm47xx_nvram_release_contents(char *nvram)
20{
21 vfree(addr: nvram);
22};
23#else
24static inline int bcm47xx_nvram_init_from_iomem(void __iomem *nvram_start,
25 size_t res_size)
26{
27 return -ENOTSUPP;
28}
29static inline int bcm47xx_nvram_init_from_mem(u32 base, u32 lim)
30{
31 return -ENOTSUPP;
32};
33static inline int bcm47xx_nvram_getenv(const char *name, char *val,
34 size_t val_len)
35{
36 return -ENOTSUPP;
37};
38static inline int bcm47xx_nvram_gpio_pin(const char *name)
39{
40 return -ENOTSUPP;
41};
42
43static inline char *bcm47xx_nvram_get_contents(size_t *val_len)
44{
45 return NULL;
46};
47
48static inline void bcm47xx_nvram_release_contents(char *nvram)
49{
50};
51#endif
52
53#endif /* __BCM47XX_NVRAM_H */
54

source code of linux/include/linux/bcm47xx_nvram.h