dm: cros_ec: Convert the I2C tunnel code to use driver model
authorSimon Glass <sjg@chromium.org>
Mon, 3 Aug 2015 14:19:23 +0000 (08:19 -0600)
committerSimon Glass <sjg@chromium.org>
Thu, 6 Aug 2015 03:06:11 +0000 (21:06 -0600)
commitcc456bd7df06225819258dec9d4a5047e8da4952
tree12deef288f1c1bd0bf1af017b89e19608bc0c075
parenta0942a6d3e08490be2871396c977fb5520ecdf33
dm: cros_ec: Convert the I2C tunnel code to use driver model

The Chrome OS EC supports tunnelling through to an I2C bus on the EC. This
currently uses a copy of the I2C command code and a special 'crosec'
sub-command.

With driver model we can define an I2C bus which tunnels through to the EC,
and use the normal 'i2c' command to access it. This simplifies the code and
removes some duplication.

Add an I2C driver which tunnels through to the EC. Adjust the EC code to
support binding child devices so that it can be set up. Adjust the existing
I2C xfer function to fit driver model better.

For now the old code remains to allow things to still work. It will be
removed in a later patch once the new flow is fully enabled.

Signed-off-by: Simon Glass <sjg@chromium.org>
configs/peach-pi_defconfig
configs/peach-pit_defconfig
drivers/i2c/Kconfig
drivers/i2c/Makefile
drivers/i2c/cros_ec_tunnel.c [new file with mode: 0644]
drivers/misc/cros_ec.c
drivers/power/pmic/pmic_tps65090_ec.c
include/cros_ec.h