blob: 53b31f69b74a304be8069e67a016fd04c348103c [file] [log] [blame]
David Brazdil0f672f62019-12-10 10:32:29 +00001/* SPDX-License-Identifier: GPL-2.0-or-later */
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00002/*
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00003 */
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
14int bcm47xx_nvram_init_from_mem(u32 base, u32 lim);
15int bcm47xx_nvram_getenv(const char *name, char *val, size_t val_len);
16int bcm47xx_nvram_gpio_pin(const char *name);
17char *bcm47xx_nvram_get_contents(size_t *val_len);
18static inline void bcm47xx_nvram_release_contents(char *nvram)
19{
20 vfree(nvram);
21};
22#else
23static inline int bcm47xx_nvram_init_from_mem(u32 base, u32 lim)
24{
25 return -ENOTSUPP;
26};
27static inline int bcm47xx_nvram_getenv(const char *name, char *val,
28 size_t val_len)
29{
30 return -ENOTSUPP;
31};
32static inline int bcm47xx_nvram_gpio_pin(const char *name)
33{
34 return -ENOTSUPP;
35};
36
37static inline char *bcm47xx_nvram_get_contents(size_t *val_len)
38{
39 return NULL;
40};
41
42static inline void bcm47xx_nvram_release_contents(char *nvram)
43{
44};
45#endif
46
47#endif /* __BCM47XX_NVRAM_H */