forked from KolibriOS/kolibrios
ddk: 3.19-rc1
git-svn-id: svn://kolibrios.org@5270 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -31,6 +31,9 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/i2c-id.h>
|
||||
#include <linux/mod_devicetable.h>
|
||||
#include <linux/sched.h> /* for completion */
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/jiffies.h>
|
||||
|
||||
extern struct bus_type i2c_bus_type;
|
||||
extern struct device_type i2c_adapter_type;
|
||||
@@ -139,6 +142,8 @@ struct i2c_driver {
|
||||
* @irq: indicates the IRQ generated by this device (if any)
|
||||
* @detected: member of an i2c_driver.clients list or i2c-core's
|
||||
* userspace_devices list
|
||||
* @slave_cb: Callback when I2C slave mode of an adapter is used. The adapter
|
||||
* calls it to pass on slave events to the slave driver.
|
||||
*
|
||||
* An i2c_client identifies a single device (i.e. chip) connected to an
|
||||
* i2c bus. The behaviour exposed to Linux is defined by the driver
|
||||
@@ -160,6 +165,13 @@ struct i2c_client {
|
||||
extern struct i2c_client *i2c_verify_client(struct device *dev);
|
||||
extern struct i2c_adapter *i2c_verify_adapter(struct device *dev);
|
||||
|
||||
enum i2c_slave_event {
|
||||
I2C_SLAVE_REQ_READ_START,
|
||||
I2C_SLAVE_REQ_READ_END,
|
||||
I2C_SLAVE_REQ_WRITE_START,
|
||||
I2C_SLAVE_REQ_WRITE_END,
|
||||
I2C_SLAVE_STOP,
|
||||
};
|
||||
/**
|
||||
* struct i2c_board_info - template for device creation
|
||||
* @type: chip type, to initialize i2c_client.name
|
||||
@@ -210,7 +222,7 @@ struct i2c_board_info {
|
||||
* to name two of the most common.
|
||||
*
|
||||
* The return codes from the @master_xfer field should indicate the type of
|
||||
* error code that occured during the transfer, as documented in the kernel
|
||||
* error code that occurred during the transfer, as documented in the kernel
|
||||
* Documentation file Documentation/i2c/fault-codes.
|
||||
*/
|
||||
struct i2c_algorithm {
|
||||
@@ -230,6 +242,12 @@ struct i2c_algorithm {
|
||||
u32 (*functionality) (struct i2c_adapter *);
|
||||
};
|
||||
|
||||
int i2c_recover_bus(struct i2c_adapter *adap);
|
||||
|
||||
/* Generic recovery routines */
|
||||
int i2c_generic_gpio_recovery(struct i2c_adapter *adap);
|
||||
int i2c_generic_scl_recovery(struct i2c_adapter *adap);
|
||||
|
||||
/*
|
||||
* i2c_adapter is the structure used to identify a physical i2c bus along
|
||||
* with the access algorithms necessary to access it.
|
||||
|
Reference in New Issue
Block a user