blob: a414a2b53e41ca7a89d9832e5fdd0dcd57e8d462 [file] [log] [blame]
Waldemar Brodkorb121915c2010-06-08 19:06:01 +02001/*
Waldemar Brodkorb121915c2010-06-08 19:06:01 +02002 * This program is free software; you can redistribute it and/or modify it
3 * under the terms of the GNU General Public License as published by the
4 * Free Software Foundation; either version 2 of the License, or (at your
5 * option) any later version.
6 */
7
Hauke Mehrtens111bd982012-12-26 19:51:14 +00008#ifndef __BCM47XX_NVRAM_H
9#define __BCM47XX_NVRAM_H
Waldemar Brodkorb121915c2010-06-08 19:06:01 +020010
Arnd Bergmann0cb51332017-05-31 09:26:07 -070011#include <linux/errno.h>
Waldemar Brodkorb121915c2010-06-08 19:06:01 +020012#include <linux/types.h>
Hauke Mehrtens59833fc2010-11-27 17:46:00 +010013#include <linux/kernel.h>
Hante Meuleman55cab93b2015-05-21 15:27:23 +020014#include <linux/vmalloc.h>
Waldemar Brodkorb121915c2010-06-08 19:06:01 +020015
Rafał Miłeckif6e734a2015-06-10 23:05:08 +020016#ifdef CONFIG_BCM47XX_NVRAM
Rafał Miłecki21400f22014-09-03 22:59:45 +020017int bcm47xx_nvram_init_from_mem(u32 base, u32 lim);
Rafał Miłecki341097f2014-10-30 12:50:03 +010018int bcm47xx_nvram_getenv(const char *name, char *val, size_t val_len);
Hauke Mehrtens62cf3bc2013-09-18 13:31:15 +020019int bcm47xx_nvram_gpio_pin(const char *name);
Hante Meuleman55cab93b2015-05-21 15:27:23 +020020char *bcm47xx_nvram_get_contents(size_t *val_len);
21static inline void bcm47xx_nvram_release_contents(char *nvram)
22{
23 vfree(nvram);
24};
Rafał Miłecki138173d2014-12-01 07:58:18 +010025#else
26static inline int bcm47xx_nvram_init_from_mem(u32 base, u32 lim)
27{
28 return -ENOTSUPP;
29};
30static inline int bcm47xx_nvram_getenv(const char *name, char *val,
31 size_t val_len)
32{
33 return -ENOTSUPP;
34};
35static inline int bcm47xx_nvram_gpio_pin(const char *name)
36{
37 return -ENOTSUPP;
38};
Hante Meuleman55cab93b2015-05-21 15:27:23 +020039
40static inline char *bcm47xx_nvram_get_contents(size_t *val_len)
41{
42 return NULL;
43};
44
45static inline void bcm47xx_nvram_release_contents(char *nvram)
46{
47};
Rafał Miłecki138173d2014-12-01 07:58:18 +010048#endif
Hauke Mehrtens62cf3bc2013-09-18 13:31:15 +020049
Hauke Mehrtens111bd982012-12-26 19:51:14 +000050#endif /* __BCM47XX_NVRAM_H */