1 /* Copyright (C) 2010 Google, Inc. 2 * Copyright (c) 2011, Code Aurora Forum. All rights reserved. 3 * Author: Dima Zavin <dima@android.com> 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License version 2 and 7 * only version 2 as published by the Free Software Foundation. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 */ 14 15 #ifndef _LINUX_SSBI_H 16 #define _LINUX_SSBI_H 17 18 #include <linux/types.h> 19 20 int ssbi_write(struct device *dev, u16 addr, const u8 *buf, int len); 21 int ssbi_read(struct device *dev, u16 addr, u8 *buf, int len); 22 23 static inline int 24 ssbi_reg_read(void *context, unsigned int reg, unsigned int *val) 25 { 26 int ret; 27 u8 v; 28 29 ret = ssbi_read(context, reg, &v, 1); 30 if (!ret) 31 *val = v; 32 33 return ret; 34 } 35 36 static inline int 37 ssbi_reg_write(void *context, unsigned int reg, unsigned int val) 38 { 39 u8 v = val; 40 return ssbi_write(context, reg, &v, 1); 41 } 42 43 #endif 44