dacf54de68
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> |
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
i2c_dw.c | ||
i2c_dw.h | ||
i2c_dw_registers.h | ||
i2c_qmsi.c | ||
i2c_quark_se_ss.c | ||
i2c_quark_se_ss.h | ||
i2c_quark_se_ss_registers.h |