ssbi.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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. #ifndef _LINUX_SSBI_H
  15. #define _LINUX_SSBI_H
  16. #include <linux/types.h>
  17. int ssbi_write(struct device *dev, u16 addr, const u8 *buf, int len);
  18. int ssbi_read(struct device *dev, u16 addr, u8 *buf, int len);
  19. static inline int
  20. ssbi_reg_read(void *context, unsigned int reg, unsigned int *val)
  21. {
  22. int ret;
  23. u8 v;
  24. ret = ssbi_read(context, reg, &v, 1);
  25. if (!ret)
  26. *val = v;
  27. return ret;
  28. }
  29. static inline int
  30. ssbi_reg_write(void *context, unsigned int reg, unsigned int val)
  31. {
  32. u8 v = val;
  33. return ssbi_write(context, reg, &v, 1);
  34. }
  35. #endif