diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/core/device.c | 8 | ||||
-rw-r--r-- | drivers/core/ofnode.c | 11 |
2 files changed, 12 insertions, 7 deletions
diff --git a/drivers/core/device.c b/drivers/core/device.c index 1a32956568..e048e1a659 100644 --- a/drivers/core/device.c +++ b/drivers/core/device.c @@ -708,13 +708,7 @@ int device_set_name(struct udevice *dev, const char *name) bool device_is_compatible(struct udevice *dev, const char *compat) { - const void *fdt = gd->fdt_blob; - ofnode node = dev_ofnode(dev); - - if (ofnode_is_np(node)) - return of_device_is_compatible(ofnode_to_np(node), compat, NULL, NULL); - else - return !fdt_node_check_compatible(fdt, ofnode_to_offset(node), compat); + return ofnode_device_is_compatible(dev_ofnode(dev), compat); } bool of_machine_is_compatible(const char *compat) diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c index 4cd10032dd..3cf3205a2f 100644 --- a/drivers/core/ofnode.c +++ b/drivers/core/ofnode.c @@ -686,3 +686,14 @@ u64 ofnode_translate_address(ofnode node, const fdt32_t *in_addr) else return fdt_translate_address(gd->fdt_blob, ofnode_to_offset(node), in_addr); } + +int ofnode_device_is_compatible(ofnode node, const char *compat) +{ + if (ofnode_is_np(node)) + return of_device_is_compatible(ofnode_to_np(node), compat, + NULL, NULL); + else + return !fdt_node_check_compatible(gd->fdt_blob, + ofnode_to_offset(node), + compat); +} |