GNU Linux-libre 6.7.9-gnu
[releases.git] / include / linux / bcm47xx_nvram.h
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
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)
20 {
21         vfree(nvram);
22 };
23 #else
24 static inline int bcm47xx_nvram_init_from_iomem(void __iomem *nvram_start,
25                                                 size_t res_size)
26 {
27         return -ENOTSUPP;
28 }
29 static inline int bcm47xx_nvram_init_from_mem(u32 base, u32 lim)
30 {
31         return -ENOTSUPP;
32 };
33 static inline int bcm47xx_nvram_getenv(const char *name, char *val,
34                                        size_t val_len)
35 {
36         return -ENOTSUPP;
37 };
38 static inline int bcm47xx_nvram_gpio_pin(const char *name)
39 {
40         return -ENOTSUPP;
41 };
42
43 static inline char *bcm47xx_nvram_get_contents(size_t *val_len)
44 {
45         return NULL;
46 };
47
48 static inline void bcm47xx_nvram_release_contents(char *nvram)
49 {
50 };
51 #endif
52
53 #endif /* __BCM47XX_NVRAM_H */