[PATCH v5 0/2] Qualcomm Universal Peripheral (QUP) I2C controller

From: Bjorn Andersson
Date: Thu Mar 13 2014 - 22:08:44 EST


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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/