
Hi
On Monday 14 of July 2014 18:56:13 Simon Glass wrote:
Add a uclass which provides access to SPI buses and includes operations required by SPI.
For a time driver model will need to co-exist with the legacy SPI interface so some parts of the header file are changed depending on which is in use. The exports are adjusted also since some functions are not available with driver model.
Boards must define CONFIG_DM_SPI to use driver model for SPI.
Signed-off-by: Simon Glass sjg@chromium.org
... +int spi_xfer(struct spi_slave *slave, unsigned int bitlen,
const void *dout, void *din, unsigned long flags)
+{
- struct udevice *dev = slave->dev;
- struct udevice *bus = dev->parent;
is this the best interface here? I think it would be cleaner if bus drivers had interfaces which follow a certain template, such as bus_ops(struct udevice *bus, struct udevice *child, ...)
struct spi_slave would be a prime candidate to have in child->parentdata (which should only be accessed by the parent IIUC)
regards Pavel Herrmann