diff options
Diffstat (limited to 'firmware/drivers')
-rw-r--r-- | firmware/drivers/synaptics-rmi.c | 22 |
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 | ||
25 | static int rmi_cur_page; | 25 | static int rmi_cur_page; |
26 | static int rmi_i2c_addr; | 26 | static int rmi_i2c_addr; |
27 | static 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 | ||
33 | int rmi_init(int i2c_bus_index, int i2c_dev_addr) | 32 | int 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 | ||
53 | int rmi_read(int address, int byte_count, unsigned char *buffer) | 51 | int 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 | ||
60 | int rmi_read_single(int address) | 59 | int rmi_read_single(int address) |
@@ -66,9 +65,10 @@ int rmi_read_single(int address) | |||
66 | 65 | ||
67 | int rmi_write(int address, int byte_count, const unsigned char *buffer) | 66 | int 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 | ||
74 | int rmi_write_single(int address, unsigned char byte) | 74 | int rmi_write_single(int address, unsigned char byte) |