|
@@ -90,6 +90,26 @@ struct rk3x_i2c_soc_data {
|
|
|
int grf_offset;
|
|
|
};
|
|
|
|
|
|
+/**
|
|
|
+ * struct rk3x_i2c - private data of the controller
|
|
|
+ * @adap: corresponding I2C adapter
|
|
|
+ * @dev: device for this controller
|
|
|
+ * @soc_data: related soc data struct
|
|
|
+ * @regs: virtual memory area
|
|
|
+ * @clk: clock of i2c bus
|
|
|
+ * @clk_rate_nb: i2c clk rate change notify
|
|
|
+ * @t: I2C known timing information
|
|
|
+ * @lock: spinlock for the i2c bus
|
|
|
+ * @wait: the waitqueue to wait for i2c transfer
|
|
|
+ * @busy: the condition for the event to wait for
|
|
|
+ * @msg: current i2c message
|
|
|
+ * @addr: addr of i2c slave device
|
|
|
+ * @mode: mode of i2c transfer
|
|
|
+ * @is_last_msg: flag determines whether it is the last msg in this transfer
|
|
|
+ * @state: state of i2c transfer
|
|
|
+ * @processed: byte length which has been send or received
|
|
|
+ * @error: error code for i2c transfer
|
|
|
+ */
|
|
|
struct rk3x_i2c {
|
|
|
struct i2c_adapter adap;
|
|
|
struct device *dev;
|
|
@@ -116,7 +136,7 @@ struct rk3x_i2c {
|
|
|
|
|
|
/* I2C state machine */
|
|
|
enum rk3x_i2c_state state;
|
|
|
- unsigned int processed; /* sent/received bytes */
|
|
|
+ unsigned int processed;
|
|
|
int error;
|
|
|
};
|
|
|
|