Hi Jagan, On 23 October 2015 at 21:54, Jagan Teki <jt...@openedev.com> wrote: > Let's use spi_flash_probe for dm and no-dm spi-flash > and make respective function definations separately. > > Cc: Simon Glass <s...@chromium.org> > Signed-off-by: Jagan Teki <jt...@openedev.com> > --- > Changes for v2: > - none > > common/cmd_sf.c | 19 ++----------------- > drivers/mtd/spi/sf-uclass.c | 17 +---------------- > include/spi_flash.h | 18 ++++-------------- > 3 files changed, 7 insertions(+), 47 deletions(-) > > diff --git a/common/cmd_sf.c b/common/cmd_sf.c > index f1926e3..cdc6c26 100644 > --- a/common/cmd_sf.c > +++ b/common/cmd_sf.c > @@ -83,9 +83,6 @@ 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; > -#ifndef CONFIG_DM_SPI_FLASH > - struct spi_flash *new; > -#endif > > if (argc >= 2) { > cs = simple_strtoul(argv[1], &endp, 0); > @@ -113,27 +110,15 @@ static int do_spi_flash_probe(int argc, char * const > argv[]) > return -1; > } > > -#ifdef CONFIG_DM_SPI_FLASH > - flash = dm_spi_flash_probe(bus, cs, speed, mode); > - if (!flash) { > - printf("Failed to initialize SPI flash at %u:%u\n", bus, cs); > - return 1; > - } > -#else > if (flash) > spi_flash_free(flash); > > - new = spi_flash_probe(bus, cs, speed, mode); > - flash = new; > - > - if (!new) { > + flash = spi_flash_probe(bus, cs, speed, mode); > + if (!flash) { > printf("Failed to initialize SPI flash at %u:%u\n", bus, cs); > return 1; > } > > - flash = new; > -#endif > - > return 0; > } > > diff --git a/drivers/mtd/spi/sf-uclass.c b/drivers/mtd/spi/sf-uclass.c > index 9c109fa..a1c5810 100644 > --- a/drivers/mtd/spi/sf-uclass.c > +++ b/drivers/mtd/spi/sf-uclass.c > @@ -27,21 +27,6 @@ int spi_flash_erase_dm(struct udevice *dev, u32 offset, > size_t len) > return sf_get_ops(dev)->erase(dev, offset, len); > } > > -/* > - * TODO(s...@chromium.org): This is an old-style function. We should remove > - * it when all SPI flash drivers use dm > - */ > -struct spi_flash *spi_flash_probe(unsigned int bus, unsigned int cs, > - unsigned int max_hz, unsigned int spi_mode)
How come this function is being removed? I don't think all drivers have been converted to driver model yet. > -{ > - struct udevice *dev; > - > - if (spi_flash_probe_bus_cs(bus, cs, max_hz, spi_mode, &dev)) > - return NULL; > - > - return dev_get_uclass_priv(dev); > -} > - > void spi_flash_free(struct spi_flash *flash) > { > spi_flash_remove(flash->spi->dev); > @@ -67,7 +52,7 @@ static int spi_flash_probe_bus_cs(unsigned int busnum, > unsigned int cs, > return 0; > } > > -struct spi_flash *dm_spi_flash_probe(unsigned int busnum, unsigned int cs, > +struct spi_flash *spi_flash_probe(unsigned int busnum, unsigned int cs, > unsigned int max_hz, unsigned int spi_mode) > { > struct udevice *bus, *new; > diff --git a/include/spi_flash.h b/include/spi_flash.h > index 5abbf99..0afc9fb 100644 > --- a/include/spi_flash.h > +++ b/include/spi_flash.h > @@ -154,16 +154,6 @@ int spi_flash_write_dm(struct udevice *dev, u32 offset, > size_t len, > */ > int spi_flash_erase_dm(struct udevice *dev, u32 offset, size_t len); > > -struct spi_flash *dm_spi_flash_probe(unsigned int busnum, unsigned int cs, > - unsigned int max_hz, unsigned int spi_mode); > - > -/* Compatibility function - this is the old U-Boot API */ > -struct spi_flash *spi_flash_probe(unsigned int bus, unsigned int cs, > - unsigned int max_hz, unsigned int spi_mode); > - > -/* Compatibility function - this is the old U-Boot API */ > -void spi_flash_free(struct spi_flash *flash); > - > int spi_flash_remove(struct udevice *flash); > > static inline int spi_flash_read(struct spi_flash *flash, u32 offset, > @@ -192,8 +182,6 @@ int sandbox_sf_bind_emul(struct sandbox_state *state, int > busnum, int cs, > void sandbox_sf_unbind_emul(struct sandbox_state *state, int busnum, int cs); > > #else > -struct spi_flash *spi_flash_probe(unsigned int bus, unsigned int cs, > - unsigned int max_hz, unsigned int spi_mode); > > /** > * Set up a new SPI flash from an fdt node > @@ -207,8 +195,6 @@ struct spi_flash *spi_flash_probe(unsigned int bus, > unsigned int cs, > struct spi_flash *spi_flash_probe_fdt(const void *blob, int slave_node, > int spi_node); > > -void spi_flash_free(struct spi_flash *flash); > - > static inline int spi_flash_read(struct spi_flash *flash, u32 offset, > size_t len, void *buf) > { > @@ -228,6 +214,10 @@ static inline int spi_flash_erase(struct spi_flash > *flash, u32 offset, > } > #endif > > +struct spi_flash *spi_flash_probe(unsigned int bus, unsigned int cs, > + unsigned int max_hz, unsigned int spi_mode); > +void spi_flash_free(struct spi_flash *flash); > + > void spi_boot(void) __noreturn; > void spi_spl_load_image(uint32_t offs, unsigned int size, void *vdst); > > -- > 1.9.1 > Regards, Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot