1b652b438fcad4c9c079d0774e9d45ee58fae22e2Russell King#ifndef _LINUX_I2C_ALGO_PXA_H
2b652b438fcad4c9c079d0774e9d45ee58fae22e2Russell King#define _LINUX_I2C_ALGO_PXA_H
3b652b438fcad4c9c079d0774e9d45ee58fae22e2Russell King
4b652b438fcad4c9c079d0774e9d45ee58fae22e2Russell Kingtypedef enum i2c_slave_event_e {
5b652b438fcad4c9c079d0774e9d45ee58fae22e2Russell King	I2C_SLAVE_EVENT_START_READ,
6b652b438fcad4c9c079d0774e9d45ee58fae22e2Russell King	I2C_SLAVE_EVENT_START_WRITE,
7b652b438fcad4c9c079d0774e9d45ee58fae22e2Russell King	I2C_SLAVE_EVENT_STOP
8b652b438fcad4c9c079d0774e9d45ee58fae22e2Russell King} i2c_slave_event_t;
9b652b438fcad4c9c079d0774e9d45ee58fae22e2Russell King
10b652b438fcad4c9c079d0774e9d45ee58fae22e2Russell Kingstruct i2c_slave_client {
11b652b438fcad4c9c079d0774e9d45ee58fae22e2Russell King	void *data;
12b652b438fcad4c9c079d0774e9d45ee58fae22e2Russell King	void (*event)(void *ptr, i2c_slave_event_t event);
13b652b438fcad4c9c079d0774e9d45ee58fae22e2Russell King	int  (*read) (void *ptr);
14b652b438fcad4c9c079d0774e9d45ee58fae22e2Russell King	void (*write)(void *ptr, unsigned int val);
15b652b438fcad4c9c079d0774e9d45ee58fae22e2Russell King};
16b652b438fcad4c9c079d0774e9d45ee58fae22e2Russell King
17b652b438fcad4c9c079d0774e9d45ee58fae22e2Russell King#endif /* _LINUX_I2C_ALGO_PXA_H */
18