diff options
Diffstat (limited to 'include/linux/ssbi.h')
| -rw-r--r-- | include/linux/ssbi.h | 45 |
1 files changed, 21 insertions, 24 deletions
diff --git a/include/linux/ssbi.h b/include/linux/ssbi.h index 44ef5da21470..61007afba0cc 100644 --- a/include/linux/ssbi.h +++ b/include/linux/ssbi.h @@ -1,15 +1,7 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ /* Copyright (C) 2010 Google, Inc. * Copyright (c) 2011, Code Aurora Forum. All rights reserved. * Author: Dima Zavin <dima@android.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 and - * only version 2 as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. */ #ifndef _LINUX_SSBI_H @@ -17,22 +9,27 @@ #include <linux/types.h> -struct ssbi_slave_info { - const char *name; - void *platform_data; -}; +int ssbi_write(struct device *dev, u16 addr, const u8 *buf, int len); +int ssbi_read(struct device *dev, u16 addr, u8 *buf, int len); -enum ssbi_controller_type { - MSM_SBI_CTRL_SSBI = 0, - MSM_SBI_CTRL_SSBI2, - MSM_SBI_CTRL_PMIC_ARBITER, -}; +static inline int +ssbi_reg_read(void *context, unsigned int reg, unsigned int *val) +{ + int ret; + u8 v; -struct ssbi_platform_data { - struct ssbi_slave_info slave; - enum ssbi_controller_type controller_type; -}; + ret = ssbi_read(context, reg, &v, 1); + if (!ret) + *val = v; + + return ret; +} + +static inline int +ssbi_reg_write(void *context, unsigned int reg, unsigned int val) +{ + u8 v = val; + return ssbi_write(context, reg, &v, 1); +} -int ssbi_write(struct device *dev, u16 addr, u8 *buf, int len); -int ssbi_read(struct device *dev, u16 addr, u8 *buf, int len); #endif |
