dm: core: Decouple DM from DT

Some of the DM functions depend on OF_CONTROL, which is incorrect.
DM and DT are orthogonal. Add macro guards around such functions to
avoid compiling them in when DM is enabled, while OF_CONTROL is not.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Simon Glass <sjg@chromium.org>
This commit is contained in:
Marek Vasut 2019-08-31 18:03:28 +02:00 committed by Marek Vasut
parent d22c8be964
commit d7677bfc04
3 changed files with 7 additions and 7 deletions

View File

@ -526,6 +526,7 @@ static int device_get_device_tail(struct udevice *dev, int ret,
return 0; return 0;
} }
#if CONFIG_IS_ENABLED(OF_CONTROL) && !CONFIG_IS_ENABLED(OF_PLATDATA)
/** /**
* device_find_by_ofnode() - Return device associated with given ofnode * device_find_by_ofnode() - Return device associated with given ofnode
* *
@ -552,6 +553,7 @@ static int device_find_by_ofnode(ofnode node, struct udevice **devp)
return -ENODEV; return -ENODEV;
} }
#endif
int device_get_child(struct udevice *parent, int index, struct udevice **devp) int device_get_child(struct udevice *parent, int index, struct udevice **devp)
{ {
@ -817,6 +819,7 @@ int device_set_name(struct udevice *dev, const char *name)
return 0; return 0;
} }
#if CONFIG_IS_ENABLED(OF_CONTROL) && !CONFIG_IS_ENABLED(OF_PLATDATA)
bool device_is_compatible(struct udevice *dev, const char *compat) bool device_is_compatible(struct udevice *dev, const char *compat)
{ {
return ofnode_device_is_compatible(dev_ofnode(dev), compat); return ofnode_device_is_compatible(dev_ofnode(dev), compat);
@ -879,3 +882,4 @@ int dev_enable_by_path(const char *path)
return lists_bind_fdt(parent, node, NULL, false); return lists_bind_fdt(parent, node, NULL, false);
} }
#endif

View File

@ -314,13 +314,6 @@ int dm_scan_fdt(const void *blob, bool pre_reloc_only)
#endif #endif
return dm_scan_fdt_node(gd->dm_root, blob, 0, pre_reloc_only); return dm_scan_fdt_node(gd->dm_root, blob, 0, pre_reloc_only);
} }
#else
static int dm_scan_fdt_node(struct udevice *parent, const void *blob,
int offset, bool pre_reloc_only)
{
return 0;
}
#endif
static int dm_scan_fdt_ofnode_path(const char *path, bool pre_reloc_only) static int dm_scan_fdt_ofnode_path(const char *path, bool pre_reloc_only)
{ {
@ -360,6 +353,7 @@ int dm_extended_scan_fdt(const void *blob, bool pre_reloc_only)
return ret; return ret;
} }
#endif
__weak int dm_scan_other(bool pre_reloc_only) __weak int dm_scan_other(bool pre_reloc_only)
{ {

View File

@ -31,6 +31,7 @@ int list_count_items(struct list_head *head)
return count; return count;
} }
#if CONFIG_IS_ENABLED(OF_CONTROL) && !CONFIG_IS_ENABLED(OF_PLATDATA)
bool dm_ofnode_pre_reloc(ofnode node) bool dm_ofnode_pre_reloc(ofnode node)
{ {
#if defined(CONFIG_SPL_BUILD) || defined(CONFIG_TPL_BUILD) #if defined(CONFIG_SPL_BUILD) || defined(CONFIG_TPL_BUILD)
@ -56,3 +57,4 @@ bool dm_ofnode_pre_reloc(ofnode node)
return false; return false;
#endif #endif
} }
#endif