dm: core: Add a function to bind a driver for a device tree node
Some device tree nodes do not have compatible strings but do require drivers. This is pretty rare, and somewhat unfortunate. Add a function to permit creation of a driver for any device tree node. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
@@ -73,6 +73,13 @@ int lists_bind_drivers(struct udevice *parent, bool pre_reloc_only)
|
||||
|
||||
int device_bind_driver(struct udevice *parent, const char *drv_name,
|
||||
const char *dev_name, struct udevice **devp)
|
||||
{
|
||||
return device_bind_driver_to_node(parent, drv_name, dev_name, -1, devp);
|
||||
}
|
||||
|
||||
int device_bind_driver_to_node(struct udevice *parent, const char *drv_name,
|
||||
const char *dev_name, int node,
|
||||
struct udevice **devp)
|
||||
{
|
||||
struct driver *drv;
|
||||
int ret;
|
||||
@@ -82,7 +89,7 @@ int device_bind_driver(struct udevice *parent, const char *drv_name,
|
||||
printf("Cannot find driver '%s'\n", drv_name);
|
||||
return -ENOENT;
|
||||
}
|
||||
ret = device_bind(parent, drv, dev_name, NULL, -1, devp);
|
||||
ret = device_bind(parent, drv, dev_name, NULL, node, devp);
|
||||
if (ret) {
|
||||
printf("Cannot create device named '%s' (err=%d)\n",
|
||||
dev_name, ret);
|
||||
|
||||
Reference in New Issue
Block a user