Comments

The i2c-arbitrator-cros-ec driver implements the arbitration scheme
that the Embedded Controller (EC) on the ARM Chromebook expects to use
for bus multimastering. This i2c-arbitrator-cros-ec driver could also
be used in other places where standard I2C bus arbitration can't be
used and two extra GPIOs are available for arbitration.
This driver is based on code that Simon Glass added to the i2c-s3c2410
driver in the Chrome OS kernel 3.4 tree. The current incarnation as a
mux driver is as suggested by Grant Likely. See
<https://patchwork.kernel.org/patch/1877311/> for some history.
Signed-off-by: Doug Anderson <dianders@chromium.org>Signed-off-by: Simon Glass <sjg@chromium.org>Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@samsung.com>
---
Changes in v3:
- Handle of_find_i2c_adapter_by_node() failure more properly by
changing init order.
- Don't warn on -EPROBE_DEFER from calls that could return it.
- Move to module_platform_driver(). As we pull in parts of the system
that rely on devices under this i2c bus we'll need to make sure they
can handle the fact that they'll be initted later now.
Changes in v2:
- Renamed to i2c-arbitrator-cros-ec.
- Documented "microsecond" properties as optional; removed
"bus-arbitration" prefix since it was just extra wordy.
- Split GPIOs into two properties to make it cleaner.
- Capitalized I2C in freeform text.
- Get 'active low' from device tree.
.../bindings/i2c/i2c-arbitrator-cros-ec.txt | 76 +++++++
drivers/i2c/muxes/Kconfig | 11 +
drivers/i2c/muxes/Makefile | 2 +
drivers/i2c/muxes/i2c-arbitrator-cros-ec.c | 222 +++++++++++++++++++++
4 files changed, 311 insertions(+)
create mode 100644 Documentation/devicetree/bindings/i2c/i2c-arbitrator-cros-ec.txt
create mode 100644 drivers/i2c/muxes/i2c-arbitrator-cros-ec.c

Wolfram,
On Fri, Feb 15, 2013 at 11:46 AM, Doug Anderson <dianders@chromium.org> wrote:
> The i2c-arbitrator-cros-ec driver implements the arbitration scheme> that the Embedded Controller (EC) on the ARM Chromebook expects to use> for bus multimastering. This i2c-arbitrator-cros-ec driver could also> be used in other places where standard I2C bus arbitration can't be> used and two extra GPIOs are available for arbitration.>> This driver is based on code that Simon Glass added to the i2c-s3c2410> driver in the Chrome OS kernel 3.4 tree. The current incarnation as a> mux driver is as suggested by Grant Likely. See> <https://patchwork.kernel.org/patch/1877311/> for some history.>> Signed-off-by: Doug Anderson <dianders@chromium.org>> Signed-off-by: Simon Glass <sjg@chromium.org>> Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@samsung.com>> ---> Changes in v3:> - Handle of_find_i2c_adapter_by_node() failure more properly by> changing init order.> - Don't warn on -EPROBE_DEFER from calls that could return it.> - Move to module_platform_driver(). As we pull in parts of the system> that rely on devices under this i2c bus we'll need to make sure they> can handle the fact that they'll be initted later now.>> Changes in v2:> - Renamed to i2c-arbitrator-cros-ec.> - Documented "microsecond" properties as optional; removed> "bus-arbitration" prefix since it was just extra wordy.> - Split GPIOs into two properties to make it cleaner.> - Capitalized I2C in freeform text.> - Get 'active low' from device tree.>> .../bindings/i2c/i2c-arbitrator-cros-ec.txt | 76 +++++++> drivers/i2c/muxes/Kconfig | 11 +> drivers/i2c/muxes/Makefile | 2 +> drivers/i2c/muxes/i2c-arbitrator-cros-ec.c | 222 +++++++++++++++++++++> 4 files changed, 311 insertions(+)> create mode 100644 Documentation/devicetree/bindings/i2c/i2c-arbitrator-cros-ec.txt> create mode 100644 drivers/i2c/muxes/i2c-arbitrator-cros-ec.c
Is there anything you'd like done before landing this patch for 3.10?
It's been reviewed by Stephen Warren (thanks Stephen!). From what I
remember from Olof's talk at ELC it seems like the best thing would be
to merge part 1 through i2c tree and then ask Olof to merge parts 2
and 3 (the dts bits) through the arm-soc tree.
I believe you could also add a "Tested-by" from Naveen to patch #1.
He sent a tested by for parts 2 and 3 so must have also tested part 1
(the other two don't function without it).
Please let me know--I'm happy to spin with any changes needed. :)
-Doug
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html