summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmaury Pouly <amaury.pouly@gmail.com>2013-10-21 01:10:59 +0200
committerAmaury Pouly <amaury.pouly@gmail.com>2013-10-21 01:23:13 +0200
commit5b3eaf6f5bb9d0db0816f044323728349fadf6dd (patch)
tree477f6ae2c8adf4959e8a271ff6482d66b25b2016
parent6006eb59b1064cdc115583d2eab3fe7bab4ffa4d (diff)
downloadrockbox-5b3eaf6f5bb9d0db0816f044323728349fadf6dd.zip
rockbox-5b3eaf6f5bb9d0db0816f044323728349fadf6dd.tar.gz
rockbox-5b3eaf6f5bb9d0db0816f044323728349fadf6dd.tar.bz2
rockbox-5b3eaf6f5bb9d0db0816f044323728349fadf6dd.tar.xz
imx233/i2c: use 1sec timeout by default instead of blocking
These functions are mostly used by the radio drivers and any blocking call could potentially block the entire UI, which is pretty bad. Since any request is expected to finish within a few us, having a 10ms timeout doesn't seem unreasonable. Change-Id: I03b19729511547e5bbdeb3476d020e5d87d0d7e1
-rw-r--r--firmware/target/arm/imx233/i2c-imx233.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/firmware/target/arm/imx233/i2c-imx233.c b/firmware/target/arm/imx233/i2c-imx233.c
index 4d066a4..ed29312 100644
--- a/firmware/target/arm/imx233/i2c-imx233.c
+++ b/firmware/target/arm/imx233/i2c-imx233.c
@@ -240,7 +240,7 @@ int i2c_write(int device, const unsigned char* buf, int count)
imx233_i2c_begin();
imx233_i2c_add(true, true, &addr, 1, false); /* start + dev addr */
imx233_i2c_add(false, true, (void *)buf, count, true); /* data + stop */
- return imx233_i2c_end(TIMEOUT_BLOCK);
+ return imx233_i2c_end(1);
}
int i2c_read(int device, unsigned char* buf, int count)
@@ -249,7 +249,7 @@ int i2c_read(int device, unsigned char* buf, int count)
imx233_i2c_begin();
imx233_i2c_add(true, true, &addr, 1, false); /* start + dev addr */
imx233_i2c_add(false, false, buf, count, true); /* data + stop */
- return imx233_i2c_end(TIMEOUT_BLOCK);
+ return imx233_i2c_end(1);
}
int i2c_readmem(int device, int address, unsigned char* buf, int count)
@@ -260,7 +260,7 @@ int i2c_readmem(int device, int address, unsigned char* buf, int count)
imx233_i2c_add(true, true, start, 2, false); /* start + dev addr + addr */
imx233_i2c_add(true, true, &addr_rd, 1, false); /* start + dev addr */
imx233_i2c_add(false, false, buf, count, true); /* data + stop */
- return imx233_i2c_end(TIMEOUT_BLOCK);
+ return imx233_i2c_end(1);
}
int i2c_writemem(int device, int address, const unsigned char* buf, int count)
@@ -269,5 +269,5 @@ int i2c_writemem(int device, int address, const unsigned char* buf, int count)
imx233_i2c_begin();
imx233_i2c_add(true, true, start, 2, false); /* start + dev addr + addr */
imx233_i2c_add(false, true, (void *)buf, count, true); /* data + stop */
- return imx233_i2c_end(TIMEOUT_BLOCK);
+ return imx233_i2c_end(1);
}