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>
This commit is contained in:
Simon Glass 2014-11-11 10:46:23 -07:00
parent ff56bba2d6
commit 6b18656aff
3 changed files with 2 additions and 37 deletions

View file

@ -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;