Merge tag 'trace-v5.15-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt...
[linux-2.6-microblaze.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_mem(u32 base, u32 lim);
15 int bcm47xx_nvram_getenv(const char *name, char *val, size_t val_len);
16 int bcm47xx_nvram_gpio_pin(const char *name);
17 char *bcm47xx_nvram_get_contents(size_t *val_len);
18 static inline void bcm47xx_nvram_release_contents(char *nvram)
19 {
20         vfree(nvram);
21 };
22 #else
23 static inline int bcm47xx_nvram_init_from_mem(u32 base, u32 lim)
24 {
25         return -ENOTSUPP;
26 };
27 static inline int bcm47xx_nvram_getenv(const char *name, char *val,
28                                        size_t val_len)
29 {
30         return -ENOTSUPP;
31 };
32 static inline int bcm47xx_nvram_gpio_pin(const char *name)
33 {
34         return -ENOTSUPP;
35 };
36
37 static inline char *bcm47xx_nvram_get_contents(size_t *val_len)
38 {
39         return NULL;
40 };
41
42 static inline void bcm47xx_nvram_release_contents(char *nvram)
43 {
44 };
45 #endif
46
47 #endif /* __BCM47XX_NVRAM_H */