dm: Convert spi_flash_probe() and 'sf probe' to use driver model
authorSimon Glass <sjg@chromium.org>
Tue, 14 Oct 2014 05:42:07 +0000 (23:42 -0600)
committerSimon Glass <sjg@chromium.org>
Wed, 22 Oct 2014 16:36:50 +0000 (10:36 -0600)
commitfbb099183e3a53f77a975964cdf2e73d11e565af
treecb62983490341f41d3944e6d3c58fb5166621568
parent4c2dbefde58917205af51a2c20b3069e01e55cf4
dm: Convert spi_flash_probe() and 'sf probe' to use driver model

We want the SPI flash probing feature to operate as a standard driver.
Add a driver for the basic probing feature used by most boards. This
will be activated by device_probe() as with any other driver.

The 'sf probe' command currently keeps track of the SPI slave that it
last used. This doesn't work with driver model, since some other driver
or system may have probed the device and have access to it too. On the
other hand, if we try to probe a device twice the second probe is a nop
with driver model.

Fix this by searching for the matching device, removing it, and then
probing it again. This should work as expected regardless of other device
activity.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Jagannadha Sutradharudu Teki <jagannadh.teki@gmail.com>
common/cmd_sf.c
drivers/mtd/spi/sf_probe.c