blob: 53b31f69b74a304be8069e67a016fd04c348103c [file] [log] [blame]
Thomas Gleixner2874c5f2019-05-27 08:55:01 +02001/* SPDX-License-Identifier: GPL-2.0-or-later */
Waldemar Brodkorb121915c2010-06-08 19:06:01 +02002/*
Waldemar Brodkorb121915c2010-06-08 19:06:01 +02003 */
4
Hauke Mehrtens111bd982012-12-26 19:51:14 +00005#ifndef __BCM47XX_NVRAM_H
6#define __BCM47XX_NVRAM_H
Waldemar Brodkorb121915c2010-06-08 19:06:01 +02007
Arnd Bergmann0cb51332017-05-31 09:26:07 -07008#include <linux/errno.h>
Waldemar Brodkorb121915c2010-06-08 19:06:01 +02009#include <linux/types.h>
Hauke Mehrtens59833fc2010-11-27 17:46:00 +010010#include <linux/kernel.h>
Hante Meuleman55cab93b2015-05-21 15:27:23 +020011#include <linux/vmalloc.h>
Waldemar Brodkorb121915c2010-06-08 19:06:01 +020012
Rafał Miłeckif6e734a2015-06-10 23:05:08 +020013#ifdef CONFIG_BCM47XX_NVRAM
Rafał Miłecki21400f22014-09-03 22:59:45 +020014int bcm47xx_nvram_init_from_mem(u32 base, u32 lim);
Rafał Miłecki341097f2014-10-30 12:50:03 +010015int bcm47xx_nvram_getenv(const char *name, char *val, size_t val_len);
Hauke Mehrtens62cf3bc2013-09-18 13:31:15 +020016int bcm47xx_nvram_gpio_pin(const char *name);
Hante Meuleman55cab93b2015-05-21 15:27:23 +020017char *bcm47xx_nvram_get_contents(size_t *val_len);
18static inline void bcm47xx_nvram_release_contents(char *nvram)
19{
20 vfree(nvram);
21};
Rafał Miłecki138173d2014-12-01 07:58:18 +010022#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};
Hante Meuleman55cab93b2015-05-21 15:27:23 +020036
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};
Rafał Miłecki138173d2014-12-01 07:58:18 +010045#endif
Hauke Mehrtens62cf3bc2013-09-18 13:31:15 +020046
Hauke Mehrtens111bd982012-12-26 19:51:14 +000047#endif /* __BCM47XX_NVRAM_H */