summaryrefslogtreecommitdiff
path: root/firmware/drivers/synaptics-rmi.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/drivers/synaptics-rmi.c')
-rw-r--r--firmware/drivers/synaptics-rmi.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/firmware/drivers/synaptics-rmi.c b/firmware/drivers/synaptics-rmi.c
index c6a1bae168..c979927fee 100644
--- a/firmware/drivers/synaptics-rmi.c
+++ b/firmware/drivers/synaptics-rmi.c
@@ -19,20 +19,18 @@
19 * 19 *
20 ****************************************************************************/ 20 ****************************************************************************/
21#include "system.h" 21#include "system.h"
22#include "generic_i2c.h"
23#include "synaptics-rmi.h" 22#include "synaptics-rmi.h"
23#include "i2c.h"
24 24
25static int rmi_cur_page; 25static int rmi_cur_page;
26static int rmi_i2c_addr; 26static int rmi_i2c_addr;
27static int rmi_i2c_bus;
28 27
29/* NOTE: 28/* NOTE:
30 * RMI over i2c supports some special aliases on page 0x2 but this driver don't 29 * RMI over i2c supports some special aliases on page 0x2 but this driver don't
31 * use them */ 30 * use them */
32 31
33int rmi_init(int i2c_bus_index, int i2c_dev_addr) 32int rmi_init(int i2c_dev_addr)
34{ 33{
35 rmi_i2c_bus = i2c_bus_index;
36 rmi_i2c_addr = i2c_dev_addr; 34 rmi_i2c_addr = i2c_dev_addr;
37 rmi_cur_page = 0x4; 35 rmi_cur_page = 0x4;
38 return 0; 36 return 0;
@@ -44,7 +42,7 @@ static int rmi_select_page(unsigned char page)
44 if(page != rmi_cur_page) 42 if(page != rmi_cur_page)
45 { 43 {
46 rmi_cur_page = page; 44 rmi_cur_page = page;
47 return i2c_write_data(rmi_i2c_bus, rmi_i2c_addr, RMI_PAGE_SELECT, &page, 1); 45 return i2c_writemem(rmi_i2c_addr, RMI_PAGE_SELECT, &page, 1);
48 } 46 }
49 else 47 else
50 return 0; 48 return 0;
@@ -52,9 +50,10 @@ static int rmi_select_page(unsigned char page)
52 50
53int rmi_read(int address, int byte_count, unsigned char *buffer) 51int rmi_read(int address, int byte_count, unsigned char *buffer)
54{ 52{
55 if(rmi_select_page(address >> 8) < 0) 53 int ret;
56 return -1; 54 if((ret = rmi_select_page(address >> 8)) < 0)
57 return i2c_read_data(rmi_i2c_bus, rmi_i2c_addr, address & 0xff, buffer, byte_count); 55 return ret;
56 return i2c_readmem(rmi_i2c_addr, address & 0xff, buffer, byte_count);
58} 57}
59 58
60int rmi_read_single(int address) 59int rmi_read_single(int address)
@@ -66,9 +65,10 @@ int rmi_read_single(int address)
66 65
67int rmi_write(int address, int byte_count, const unsigned char *buffer) 66int rmi_write(int address, int byte_count, const unsigned char *buffer)
68{ 67{
69 if(rmi_select_page(address >> 8) < 0) 68 int ret;
70 return -1; 69 if((ret = rmi_select_page(address >> 8)) < 0)
71 return i2c_write_data(rmi_i2c_bus, rmi_i2c_addr, address & 0xff, buffer, byte_count); 70 return ret;
71 return i2c_writemem(rmi_i2c_addr, address & 0xff, buffer, byte_count);
72} 72}
73 73
74int rmi_write_single(int address, unsigned char byte) 74int rmi_write_single(int address, unsigned char byte)