54 lines · c
1/* SPDX-License-Identifier: GPL-2.0-or-later */2/*3 */4 5#ifndef __BCM47XX_NVRAM_H6#define __BCM47XX_NVRAM_H7 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_NVRAM14int bcm47xx_nvram_init_from_iomem(void __iomem *nvram_start, size_t res_size);15int bcm47xx_nvram_init_from_mem(u32 base, u32 lim);16int bcm47xx_nvram_getenv(const char *name, char *val, size_t val_len);17int bcm47xx_nvram_gpio_pin(const char *name);18char *bcm47xx_nvram_get_contents(size_t *val_len);19static inline void bcm47xx_nvram_release_contents(char *nvram)20{21 vfree(nvram);22};23#else24static inline int bcm47xx_nvram_init_from_iomem(void __iomem *nvram_start,25 size_t res_size)26{27 return -ENOTSUPP;28}29static inline int bcm47xx_nvram_init_from_mem(u32 base, u32 lim)30{31 return -ENOTSUPP;32};33static inline int bcm47xx_nvram_getenv(const char *name, char *val,34 size_t val_len)35{36 return -ENOTSUPP;37};38static inline int bcm47xx_nvram_gpio_pin(const char *name)39{40 return -ENOTSUPP;41};42 43static inline char *bcm47xx_nvram_get_contents(size_t *val_len)44{45 return NULL;46};47 48static inline void bcm47xx_nvram_release_contents(char *nvram)49{50};51#endif52 53#endif /* __BCM47XX_NVRAM_H */54