mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
xen/device-tree: Make dt_match_node match props
Make dt_match_node match for a single existing property. We only search for the existence of the property, not for specific values. Acked-by: Julien Grall <julien.grall@arm.com> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
This commit is contained in:
1 parent
ca1a2e956f
commit
cef9cf36c8
2 files changed
+11
-1
No files matched your search
@@ -319,7 +319,7 @@ dt_match_node(const struct dt_device_match *matches,
|
||||
return NULL;
|
||||
|
||||
while ( matches->path || matches->type ||
|
||||
matches->compatible || matches->not_available )
|
||||
matches->compatible || matches->not_available || matches->prop)
|
||||
{
|
||||
bool_t match = 1;
|
||||
|
||||
@@ -335,6 +335,9 @@ dt_match_node(const struct dt_device_match *matches,
|
||||
if ( matches->not_available )
|
||||
match &= !dt_device_is_available(node);
|
||||
|
||||
if ( matches->prop )
|
||||
match &= dt_find_property(node, matches->prop, NULL) != NULL;
|
||||
|
||||
if ( match )
|
||||
return matches;
|
||||
matches++;
|
||||
|
||||
@@ -29,6 +29,11 @@ struct dt_device_match {
|
||||
const char *type;
|
||||
const char *compatible;
|
||||
const bool_t not_available;
|
||||
/*
|
||||
* Property name to search for. We only search for the property's
|
||||
* existence.
|
||||
*/
|
||||
const char *prop;
|
||||
const void *data;
|
||||
};
|
||||
|
||||
@@ -36,11 +41,13 @@ struct dt_device_match {
|
||||
#define __DT_MATCH_TYPE(typ) .type = typ
|
||||
#define __DT_MATCH_COMPATIBLE(compat) .compatible = compat
|
||||
#define __DT_MATCH_NOT_AVAILABLE() .not_available = 1
|
||||
#define __DT_MATCH_PROP(p) .prop = p
|
||||
|
||||
#define DT_MATCH_PATH(p) { __DT_MATCH_PATH(p) }
|
||||
#define DT_MATCH_TYPE(typ) { __DT_MATCH_TYPE(typ) }
|
||||
#define DT_MATCH_COMPATIBLE(compat) { __DT_MATCH_COMPATIBLE(compat) }
|
||||
#define DT_MATCH_NOT_AVAILABLE() { __DT_MATCH_NOT_AVAILABLE() }
|
||||
#define DT_MATCH_PROP(p) { __DT_MATCH_PROP(p) }
|
||||
|
||||
typedef u32 dt_phandle;
|
||||
|
||||
|
||||