
Hello Jagan,
Am 24.09.2013 20:36, schrieb Jagannadha Sutradharudu Teki:
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c index ea39d1a..0ac9fab 100644 --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c @@ -7,6 +7,7 @@ #include <common.h> #include <malloc.h> #include <spi.h> +#include <spi_flash.h>
void *spi_do_alloc_slave(int offset, int size, unsigned int bus, unsigned int cs) @@ -20,6 +21,7 @@ void *spi_do_alloc_slave(int offset, int size, unsigned int bus, slave = (struct spi_slave *)(ptr + offset); slave->bus = bus; slave->cs = cs;
slave->rd_cmd = CMD_READ_ARRAY_FAST;
This is SPI code, not SF! The spi layer should not know such details of the slave! What about EEPROMs or other SPI slaves, which are NOT spi_flash??? Examples (just searched for includes of "spi.h"): board/bf527-ezkit/video.c drivers/net/enc28j60.c
Please ensure that the layers are not mixed up! SPI is an interface type and SF is ONLY ONE user of this interface!
}
return ptr; diff --git a/include/spi.h b/include/spi.h index c0dab57..093847e 100644 --- a/include/spi.h +++ b/include/spi.h @@ -40,11 +40,13 @@
- cs: ID of the chip select connected to the slave.
- max_write_size: If non-zero, the maximum number of bytes which can
be written at once, excluding command bytes.
*/
- rd_cmd: Read command.
struct spi_slave { unsigned int bus; unsigned int cs; unsigned int max_write_size;
- u8 rd_cmd;
};
/*-----------------------------------------------------------------------
Best Regards, Thomas