Merge tag 'driver-core-5.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / include / linux / ssbi.h
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /* Copyright (C) 2010 Google, Inc.
3  * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
4  * Author: Dima Zavin <dima@android.com>
5  */
6
7 #ifndef _LINUX_SSBI_H
8 #define _LINUX_SSBI_H
9
10 #include <linux/types.h>
11
12 int ssbi_write(struct device *dev, u16 addr, const u8 *buf, int len);
13 int ssbi_read(struct device *dev, u16 addr, u8 *buf, int len);
14
15 static inline int
16 ssbi_reg_read(void *context, unsigned int reg, unsigned int *val)
17 {
18         int ret;
19         u8 v;
20
21         ret = ssbi_read(context, reg, &v, 1);
22         if (!ret)
23                 *val = v;
24
25         return ret;
26 }
27
28 static inline int
29 ssbi_reg_write(void *context, unsigned int reg, unsigned int val)
30 {
31         u8 v = val;
32         return ssbi_write(context, reg, &v, 1);
33 }
34
35 #endif