powerpc: Replace nvram_* extern declarations with standard header
[linux-block.git] / include / linux / nvram.h
CommitLineData
b2441318 1/* SPDX-License-Identifier: GPL-2.0 */
1da177e4
LT
2#ifndef _LINUX_NVRAM_H
3#define _LINUX_NVRAM_H
4
1278cf66 5#include <linux/errno.h>
607ca46e 6#include <uapi/linux/nvram.h>
1da177e4 7
a084dbf6
FT
8struct nvram_ops {
9 ssize_t (*get_size)(void);
10 ssize_t (*read)(char *, size_t, loff_t *);
11 ssize_t (*write)(char *, size_t, loff_t *);
12};
13
14extern const struct nvram_ops arch_nvram_ops;
15
1278cf66
FT
16static inline ssize_t nvram_get_size(void)
17{
a156c7ba
FT
18#ifdef CONFIG_PPC
19#else
a084dbf6
FT
20 if (arch_nvram_ops.get_size)
21 return arch_nvram_ops.get_size();
a156c7ba 22#endif
1278cf66
FT
23 return -ENODEV;
24}
25
26static inline unsigned char nvram_read_byte(int addr)
27{
28 return 0xFF;
29}
30
31static inline void nvram_write_byte(unsigned char val, int addr)
32{
33}
34
35static inline ssize_t nvram_read(char *buf, size_t count, loff_t *ppos)
36{
a084dbf6
FT
37 if (arch_nvram_ops.read)
38 return arch_nvram_ops.read(buf, count, ppos);
1278cf66
FT
39 return -ENODEV;
40}
41
42static inline ssize_t nvram_write(char *buf, size_t count, loff_t *ppos)
43{
a084dbf6
FT
44 if (arch_nvram_ops.write)
45 return arch_nvram_ops.write(buf, count, ppos);
1278cf66
FT
46 return -ENODEV;
47}
48
1da177e4 49#endif /* _LINUX_NVRAM_H */