[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1394762863-12154-1-git-send-email-bjorn.andersson@sonymobile.com>
Date: Thu, 13 Mar 2014 19:07:41 -0700
From: Bjorn Andersson <bjorn.andersson@...ymobile.com>
To: Rob Herring <robh+dt@...nel.org>, Pawel Moll <pawel.moll@....com>,
Mark Rutland <mark.rutland@....com>,
Ian Campbell <ijc+devicetree@...lion.org.uk>,
Kumar Gala <galak@...eaurora.org>,
Rob Landley <rob@...dley.net>,
Wolfram Sang <wsa@...-dreams.de>,
Grant Likely <grant.likely@...aro.org>,
<devicetree@...r.kernel.org>, <linux-doc@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <linux-i2c@...r.kernel.org>,
<linux-arm-msm@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>
Subject: [PATCH v5 0/2] Qualcomm Universal Peripheral (QUP) I2C controller
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists