diff options
author | Simon Glass <sjg@chromium.org> | 2015-01-25 08:27:12 -0700 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2015-01-29 17:09:56 -0700 |
commit | d0cff03e187cc1de3d6b477b92c376aae27c95e8 (patch) | |
tree | 28fe778799e181dac5adcf4d7ae847d28d6fef0d /drivers/misc | |
parent | 440714eeb8938e9710d1b2bba17c6c0af7c2cf69 (diff) | |
download | u-boot-imx-d0cff03e187cc1de3d6b477b92c376aae27c95e8.zip u-boot-imx-d0cff03e187cc1de3d6b477b92c376aae27c95e8.tar.gz u-boot-imx-d0cff03e187cc1de3d6b477b92c376aae27c95e8.tar.bz2 |
dm: spi: Move slave details to child platdata
At present we go through various contortions to store the SPI slave's chip
select in its private data. This only exists when the slave is active so
must be set up when it is probed. Until the device is probed we don't
actually know what chip select it will appear on.
However, now that we can support per-child platform data, we can use that
instead. This allows us to set up the chip select when the child is bound,
and avoid the messy contortions.
Unfortunately this is a fairly large change and it seems to be difficult to
break it down further.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'drivers/misc')
-rw-r--r-- | drivers/misc/cros_ec_spi.c | 19 |
1 files changed, 0 insertions, 19 deletions
diff --git a/drivers/misc/cros_ec_spi.c b/drivers/misc/cros_ec_spi.c index e6dba29..25a5a04 100644 --- a/drivers/misc/cros_ec_spi.c +++ b/drivers/misc/cros_ec_spi.c @@ -202,25 +202,6 @@ int cros_ec_spi_init(struct cros_ec_dev *dev, const void *blob) #ifdef CONFIG_DM_CROS_EC int cros_ec_probe(struct udevice *dev) { - struct spi_slave *slave = dev_get_parentdata(dev); - int ret; - - /* - * TODO(sjg@chromium.org) - * - * This is really horrible at present. It is an artifact of removing - * the child_pre_probe() method for SPI. Everything here could go in - * an automatic function, except that spi_get_bus_and_cs() wants to - * set it up manually and call device_probe_child(). - * - * The solution may be to re-enable the child_pre_probe() method for - * SPI and have it do nothing if the child is already passed in via - * device_probe_child(). - */ - slave->dev = dev; - ret = spi_ofdata_to_platdata(gd->fdt_blob, dev->of_offset, slave); - if (ret) - return ret; return cros_ec_register(dev); } |