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)
committerLothar Waßmann <LW@KARO-electronics.de>
Thu, 10 Sep 2015 06:17:14 +0000 (08:17 +0200)
commitc667cba8e7eaa597fc3f9d7e8acdb95e909b8e0c
tree4f47337cb93b946e38829c498ddbe5e838291892
parent60a3b6a524ac49c3c49b4c03a6b210ba9b70a0c9
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