Re: [PATCH v3 1/3] i2c: mux: Add i2c-arbitrator-cros-ec 'mux' driver

From: Doug Anderson
Date: Mon Mar 11 2013 - 12:05:49 EST


Wolfram,

On Fri, Feb 15, 2013 at 11:46 AM, Doug Anderson <dianders@xxxxxxxxxxxx> 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@xxxxxxxxxxxx>
> Signed-off-by: Simon Glass <sjg@xxxxxxxxxxxx>
> Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@xxxxxxxxxxx>
> ---
> 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-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/