1 /* SPDX-License-Identifier: GPL-2.0-or-later * 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* 2 /* 3 */ 3 */ 4 4 5 #ifndef __BCM47XX_NVRAM_H 5 #ifndef __BCM47XX_NVRAM_H 6 #define __BCM47XX_NVRAM_H 6 #define __BCM47XX_NVRAM_H 7 7 8 #include <linux/errno.h> 8 #include <linux/errno.h> 9 #include <linux/types.h> 9 #include <linux/types.h> 10 #include <linux/kernel.h> 10 #include <linux/kernel.h> 11 #include <linux/vmalloc.h> 11 #include <linux/vmalloc.h> 12 12 13 #ifdef CONFIG_BCM47XX_NVRAM 13 #ifdef CONFIG_BCM47XX_NVRAM 14 int bcm47xx_nvram_init_from_iomem(void __iomem 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 15 int bcm47xx_nvram_init_from_mem(u32 base, u32 lim); 16 int bcm47xx_nvram_getenv(const char *name, cha 16 int bcm47xx_nvram_getenv(const char *name, char *val, size_t val_len); 17 int bcm47xx_nvram_gpio_pin(const char *name); 17 int bcm47xx_nvram_gpio_pin(const char *name); 18 char *bcm47xx_nvram_get_contents(size_t *val_l 18 char *bcm47xx_nvram_get_contents(size_t *val_len); 19 static inline void bcm47xx_nvram_release_conte 19 static inline void bcm47xx_nvram_release_contents(char *nvram) 20 { 20 { 21 vfree(nvram); 21 vfree(nvram); 22 }; 22 }; 23 #else 23 #else 24 static inline int bcm47xx_nvram_init_from_iome 24 static inline int bcm47xx_nvram_init_from_iomem(void __iomem *nvram_start, 25 25 size_t res_size) 26 { 26 { 27 return -ENOTSUPP; 27 return -ENOTSUPP; 28 } 28 } 29 static inline int bcm47xx_nvram_init_from_mem( 29 static inline int bcm47xx_nvram_init_from_mem(u32 base, u32 lim) 30 { 30 { 31 return -ENOTSUPP; 31 return -ENOTSUPP; 32 }; 32 }; 33 static inline int bcm47xx_nvram_getenv(const c 33 static inline int bcm47xx_nvram_getenv(const char *name, char *val, 34 size_t 34 size_t val_len) 35 { 35 { 36 return -ENOTSUPP; 36 return -ENOTSUPP; 37 }; 37 }; 38 static inline int bcm47xx_nvram_gpio_pin(const 38 static inline int bcm47xx_nvram_gpio_pin(const char *name) 39 { 39 { 40 return -ENOTSUPP; 40 return -ENOTSUPP; 41 }; 41 }; 42 42 43 static inline char *bcm47xx_nvram_get_contents 43 static inline char *bcm47xx_nvram_get_contents(size_t *val_len) 44 { 44 { 45 return NULL; 45 return NULL; 46 }; 46 }; 47 47 48 static inline void bcm47xx_nvram_release_conte 48 static inline void bcm47xx_nvram_release_contents(char *nvram) 49 { 49 { 50 }; 50 }; 51 #endif 51 #endif 52 52 53 #endif /* __BCM47XX_NVRAM_H */ 53 #endif /* __BCM47XX_NVRAM_H */ 54 54
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.