xref: /openbmc/linux/include/linux/bcm47xx_nvram.h (revision a5be5ce0)
12874c5fdSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */
2138173d4SRafał Miłecki /*
3138173d4SRafał Miłecki  */
4138173d4SRafał Miłecki 
5138173d4SRafał Miłecki #ifndef __BCM47XX_NVRAM_H
6138173d4SRafał Miłecki #define __BCM47XX_NVRAM_H
7138173d4SRafał Miłecki 
80cb5133aSArnd Bergmann #include <linux/errno.h>
9138173d4SRafał Miłecki #include <linux/types.h>
10138173d4SRafał Miłecki #include <linux/kernel.h>
1155cab93bSHante Meuleman #include <linux/vmalloc.h>
12138173d4SRafał Miłecki 
13f6e734a8SRafał Miłecki #ifdef CONFIG_BCM47XX_NVRAM
14*a5be5ce0SRafał Miłecki int bcm47xx_nvram_init_from_iomem(void __iomem *nvram_start, size_t res_size);
15138173d4SRafał Miłecki int bcm47xx_nvram_init_from_mem(u32 base, u32 lim);
16138173d4SRafał Miłecki int bcm47xx_nvram_getenv(const char *name, char *val, size_t val_len);
17138173d4SRafał Miłecki int bcm47xx_nvram_gpio_pin(const char *name);
1855cab93bSHante Meuleman char *bcm47xx_nvram_get_contents(size_t *val_len);
bcm47xx_nvram_release_contents(char * nvram)1955cab93bSHante Meuleman static inline void bcm47xx_nvram_release_contents(char *nvram)
2055cab93bSHante Meuleman {
2155cab93bSHante Meuleman 	vfree(nvram);
2255cab93bSHante Meuleman };
23138173d4SRafał Miłecki #else
bcm47xx_nvram_init_from_iomem(void __iomem * nvram_start,size_t res_size)24*a5be5ce0SRafał Miłecki static inline int bcm47xx_nvram_init_from_iomem(void __iomem *nvram_start,
25*a5be5ce0SRafał Miłecki 						size_t res_size)
26*a5be5ce0SRafał Miłecki {
27*a5be5ce0SRafał Miłecki 	return -ENOTSUPP;
28*a5be5ce0SRafał Miłecki }
bcm47xx_nvram_init_from_mem(u32 base,u32 lim)29138173d4SRafał Miłecki static inline int bcm47xx_nvram_init_from_mem(u32 base, u32 lim)
30138173d4SRafał Miłecki {
31138173d4SRafał Miłecki 	return -ENOTSUPP;
32138173d4SRafał Miłecki };
bcm47xx_nvram_getenv(const char * name,char * val,size_t val_len)33138173d4SRafał Miłecki static inline int bcm47xx_nvram_getenv(const char *name, char *val,
34138173d4SRafał Miłecki 				       size_t val_len)
35138173d4SRafał Miłecki {
36138173d4SRafał Miłecki 	return -ENOTSUPP;
37138173d4SRafał Miłecki };
bcm47xx_nvram_gpio_pin(const char * name)38138173d4SRafał Miłecki static inline int bcm47xx_nvram_gpio_pin(const char *name)
39138173d4SRafał Miłecki {
40138173d4SRafał Miłecki 	return -ENOTSUPP;
41138173d4SRafał Miłecki };
4255cab93bSHante Meuleman 
bcm47xx_nvram_get_contents(size_t * val_len)4355cab93bSHante Meuleman static inline char *bcm47xx_nvram_get_contents(size_t *val_len)
4455cab93bSHante Meuleman {
4555cab93bSHante Meuleman 	return NULL;
4655cab93bSHante Meuleman };
4755cab93bSHante Meuleman 
bcm47xx_nvram_release_contents(char * nvram)4855cab93bSHante Meuleman static inline void bcm47xx_nvram_release_contents(char *nvram)
4955cab93bSHante Meuleman {
5055cab93bSHante Meuleman };
51138173d4SRafał Miłecki #endif
52138173d4SRafał Miłecki 
53138173d4SRafał Miłecki #endif /* __BCM47XX_NVRAM_H */
54