zephyr/drivers/i2c
Andre Guedes dacf54de68 i2c: Enable interrupts for QMSI shim driver
Due to an issue with the interrupt-based transfer API from QMSI driver,
the 'transfer' callback from the shim driver (i2c_qmsi_transfer) is
implemented with polling APIs. This is not ideal because we are not able
to sleep the current thread (so another task can be scheduled in) while
the i2c operation is carried out.

The interrupt issue with the QMSI driver has been solved then this patch
fixes the shim driver so it uses the interrupt-based API and adds extra
code to handle the thread synchronization.

Finally, this patch also moves all 'struct device' related definitions
from the bottom to the top of the i2c_qmsi.c file so the DEVICE_GET
macro can be used in transfer_complete() and removes the init.h include
since it is not needed anymore.

Change-Id: I7ef7ce4cea6fcc939e310e5fe12c406645f6a16e
Signed-off-by: Andre Guedes <andre.guedes@intel.com>
2016-02-05 20:25:29 -05:00
..
Kconfig i2c: Enable interrupts for QMSI shim driver 2016-02-05 20:25:29 -05:00
Makefile i2c: Introduce QMSI I2C driver 2016-02-05 20:25:21 -05:00
i2c_dw.c irq: rename irq_connect() to IRQ_CONNECT() 2016-02-05 20:25:25 -05:00
i2c_dw.h c++: Add extern "C" { } block to header files 2016-02-05 20:25:22 -05:00
i2c_dw_registers.h c++: Add extern "C" { } block to header files 2016-02-05 20:25:22 -05:00
i2c_qmsi.c i2c: Enable interrupts for QMSI shim driver 2016-02-05 20:25:29 -05:00
i2c_quark_se_ss.c irq: rename irq_connect() to IRQ_CONNECT() 2016-02-05 20:25:25 -05:00
i2c_quark_se_ss.h c++: Add extern "C" { } block to header files 2016-02-05 20:25:22 -05:00
i2c_quark_se_ss_registers.h i2c/i2c_quark_se_ss: extends to do multi-byte read requests 2016-02-05 20:25:16 -05:00