
Hi Jagan,
On 19 October 2015 at 10:09, Jagan Teki jteki@openedev.com wrote:
Updated dm-spi-flash probe using dm_spi_flash_probe.
Signed-off-by: Jagan Teki jteki@openedev.com Cc: Simon Glass sjg@chromium.org
common/cmd_sf.c | 23 ++++------------------- drivers/mtd/spi/sf-uclass.c | 27 ++++++++++++++++++++++++++- include/spi_flash.h | 5 ++--- 3 files changed, 32 insertions(+), 23 deletions(-)
diff --git a/common/cmd_sf.c b/common/cmd_sf.c index ac7f5df..f1926e3 100644 --- a/common/cmd_sf.c +++ b/common/cmd_sf.c @@ -8,7 +8,6 @@
#include <common.h> #include <div64.h> -#include <dm.h> #include <malloc.h> #include <mapmem.h> #include <spi.h> @@ -17,7 +16,6 @@ #include <linux/mtd/mtd.h>
#include <asm/io.h> -#include <dm/device-internal.h>
static struct spi_flash *flash;
@@ -85,10 +83,7 @@ static int do_spi_flash_probe(int argc, char * const argv[]) unsigned int speed = CONFIG_SF_DEFAULT_SPEED; unsigned int mode = CONFIG_SF_DEFAULT_MODE; char *endp; -#ifdef CONFIG_DM_SPI_FLASH
struct udevice *new, *bus_dev;
int ret;
-#else +#ifndef CONFIG_DM_SPI_FLASH struct spi_flash *new; #endif
@@ -119,21 +114,11 @@ static int do_spi_flash_probe(int argc, char * const argv[]) }
#ifdef CONFIG_DM_SPI_FLASH
/* Remove the old device, otherwise probe will just be a nop */
ret = spi_find_bus_and_cs(bus, cs, &bus_dev, &new);
if (!ret) {
device_remove(new);
device_unbind(new);
}
flash = NULL;
ret = spi_flash_probe_bus_cs(bus, cs, speed, mode, &new);
if (ret) {
printf("Failed to initialize SPI flash at %u:%u (error %d)\n",
bus, cs, ret);
flash = dm_spi_flash_probe(bus, cs, speed, mode);
The dm_ functions should use driver model - i.e. a udevice, not a bus number and CS number.
[snip]
Regards, Simon