dm: spi: Use device_bind_driver() instead of our own function

The SPI function does the same thing, so we may as well just use the new
generic function. The 'cs' parameter was not actually used, so can be
dropped.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Jagannadha Sutradharudu Teki <jagannadh.teki@gmail.com>
Acked-by: Heiko Schocher <hs@denx.de>
master
Simon Glass 10 years ago
parent ff56bba2d6
commit 6b18656aff
  1. 2
      drivers/mtd/spi/sandbox.c
  2. 23
      drivers/spi/spi-uclass.c
  3. 14
      include/spi.h

@ -609,7 +609,7 @@ static int sandbox_sf_bind_bus_cs(struct sandbox_state *state, int busnum,
return -EEXIST;
}
ret = spi_bind_device(bus, cs, "spi_flash_std", spec, &slave);
ret = device_bind_driver(bus, "spi_flash_std", spec, &slave);
if (ret)
return ret;

@ -188,27 +188,6 @@ int spi_cs_info(struct udevice *bus, uint cs, struct spi_cs_info *info)
return -ENODEV;
}
int spi_bind_device(struct udevice *bus, int cs, const char *drv_name,
const char *dev_name, struct udevice **devp)
{
struct driver *drv;
int ret;
drv = lists_driver_lookup_name(drv_name);
if (!drv) {
printf("Cannot find driver '%s'\n", drv_name);
return -ENOENT;
}
ret = device_bind(bus, drv, dev_name, NULL, -1, devp);
if (ret) {
printf("Cannot create device named '%s' (err=%d)\n",
dev_name, ret);
return ret;
}
return 0;
}
int spi_find_bus_and_cs(int busnum, int cs, struct udevice **busp,
struct udevice **devp)
{
@ -255,7 +234,7 @@ int spi_get_bus_and_cs(int busnum, int cs, int speed, int mode,
if (ret == -ENODEV && drv_name) {
debug("%s: Binding new device '%s', busnum=%d, cs=%d, driver=%s\n",
__func__, dev_name, busnum, cs, drv_name);
ret = spi_bind_device(bus, cs, drv_name, dev_name, &dev);
ret = device_bind_driver(bus, drv_name, dev_name, &dev);
if (ret)
return ret;
created = true;

@ -544,20 +544,6 @@ int spi_chip_select(struct udevice *slave);
int spi_find_chip_select(struct udevice *bus, int cs, struct udevice **devp);
/**
* spi_bind_device() - bind a device to a bus's chip select
*
* This binds a new device to an given chip select (which must be unused).
*
* @bus: SPI bus to search
* @cs: Chip select to attach to
* @drv_name: Name of driver to attach to this chip select
* @dev_name: Name of the new device thus created
* @devp: Returns the newly bound device
*/
int spi_bind_device(struct udevice *bus, int cs, const char *drv_name,
const char *dev_name, struct udevice **devp);
/**
* spi_ofdata_to_platdata() - decode standard SPI platform data
*
* This decodes the speed and mode from a device tree node and puts it into

Loading…
Cancel
Save