This fifth revision of the QUP I2C driver comes with minor fixes, as per review comments on the second third revision. Regards, Bjorn Changes from second v3: - Reformat device tree binding description related to clocks - Minor cleanup related to dt parsing of clock frequency - Properly return EINVAL on dt parse error - Use i2c_add_adapter instead of numbered version - Call pm_runtime_set_active() before we leave probe with clocks enabled - Remove debug prints from suspend and resume Changes from v3: - Simplified interrupt handler - Corrected the state transition poll timeout - Refactored state transition code - Refactored the polling functions waiting for transfers to finish - Made the write fifo fill function care if there's space - Corrected programmed length on writes - Made block read and block write work - Removed data duplicates from qup_i2c_dev - Changed timeout to HZ, to give room for clock stretching - Properly reject reads over 256 bytes, as limited by HW - Dropped reinitialization of completions - Made sure to not re-initiate reads for every block read - Added QUP version number to compatible Changes from v2: - Removed unused variables and includes - Corrected read logic in irq handler - Made the polling loop in qup_i2c_poll_state() less arbitrary - Only building suspend/resume if CONFIG_PM_SLEEP Changes from v1: - Cleaned up device tree binding example. - Refrased device tree bindings. - Following changes in the i2c framework. - Use the core clock to calculate divider for the bus clock, instead of explicitly setting it. - Remove explicit pinctrl settting. - Split/renamed qup_i2c_enable(bool) into enable/disable functions. - Return value was overwritten on error in write_one/read_one. - Initialize the i2c core every time, so that we actually can execute more than 1 transmission per xfer. Bjorn Andersson (1): i2c: New bus driver for the Qualcomm QUP I2C controller Ivan T. Ivanov (1): i2c: qup: Add device tree bindings information .../devicetree/bindings/i2c/qcom,i2c-qup.txt | 46 ++ drivers/i2c/busses/Kconfig | 10 + drivers/i2c/busses/Makefile | 1 + drivers/i2c/busses/i2c-qup.c | 768 ++++++++++++++++++++ 4 files changed, 825 insertions(+) create mode 100644 Documentation/devicetree/bindings/i2c/qcom,i2c-qup.txt create mode 100644 drivers/i2c/busses/i2c-qup.c -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html