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); bcm47xx_nvram_release_contents(char * nvram)18static inline void bcm47xx_nvram_release_contents(char *nvram) 19 { 20 vfree(nvram); 21 }; 22 #else bcm47xx_nvram_init_from_mem(u32 base,u32 lim)23static inline int bcm47xx_nvram_init_from_mem(u32 base, u32 lim) 24 { 25 return -ENOTSUPP; 26 }; bcm47xx_nvram_getenv(const char * name,char * val,size_t val_len)27static inline int bcm47xx_nvram_getenv(const char *name, char *val, 28 size_t val_len) 29 { 30 return -ENOTSUPP; 31 }; bcm47xx_nvram_gpio_pin(const char * name)32static inline int bcm47xx_nvram_gpio_pin(const char *name) 33 { 34 return -ENOTSUPP; 35 }; 36 bcm47xx_nvram_get_contents(size_t * val_len)37static inline char *bcm47xx_nvram_get_contents(size_t *val_len) 38 { 39 return NULL; 40 }; 41 bcm47xx_nvram_release_contents(char * nvram)42static inline void bcm47xx_nvram_release_contents(char *nvram) 43 { 44 }; 45 #endif 46 47 #endif /* __BCM47XX_NVRAM_H */ 48