[RFC 1/2] i2c-intel-mid: I2C FIFO buffer size setting
The FIFO buffer size is different with different CPU stepping
It is better to read the size from board setting
Currently, pre-define it as 32-byte; it is safe for all CPU stepping
diff -ruN a/drivers/i2c/busses/i2c-intel-mid.c
b/drivers/i2c/busses/i2c-intel-mid.c
--- a/drivers/i2c/busses/i2c-intel-mid.c 2010-11-23 09:36:29.750000000
+0800
+++ b/drivers/i2c/busses/i2c-intel-mid.c 2010-11-23 10:12:51.950754633 +0800
@@ -54,6 +54,11 @@
STATUS_STANDBY
};
+/* The FIFO buffer size is different with different CPU stepping */
+/* It is better to read the size from board setting */
+/* Currently, pre-define it as 32-byte; it is safe for all CPU stepping */
+#define I2C_FIFO_SIZE 32
+
/**
* struct intel_mid_i2c_private - per device I²C context
* @adap: core i2c layer adapter information
@@ -531,9 +536,10 @@
int i = length;
int err;
- if (length >= 256) {
+ if (length >= I2C_FIFO_SIZE) {
dev_err(&adap->dev,
- "I2C FIFO cannot support larger than 256 bytes\n");
+ "I2C FIFO cannot support larger than %d bytes\n",
+ I2C_FIFO_SIZE);
return -EMSGSIZE;
}
@@ -584,9 +590,10 @@
struct intel_mid_i2c_private *i2c = i2c_get_adapdata(adap);
int i, err;
- if (length >= 256) {
+ if (length >= I2C_FIFO_SIZE) {
dev_err(&adap->dev,
- "I2C FIFO cannot support larger than 256 bytes\n");
+ "I2C FIFO cannot support larger than %d bytes\n",
+ I2C_FIFO_SIZE);
return -EMSGSIZE;
}
1_I2C_FIFO_buffer_size_setting.patch
Description: 1_I2C_FIFO_buffer_size_setting.patch
_______________________________________________ MeeGo-kernel mailing list [email protected] http://lists.meego.com/listinfo/meego-kernel
