of/fdt: Fix ‘of_fdt_match’ defined but not used compiler warning
When CONFIG_OF_EARLY_FLATTREE is disabled, there is a compiler
warning,
drivers/of/fdt.c:129:19: warning: ‘of_fdt_match’ defined but not used [-Wunused-function]
static int __init of_fdt_match(const void *blob, unsigned long node,
Since the only caller of of_fdt_match() is of_flat_dt_match(),
let's move the body of of_fdt_match() into of_flat_dt_match()
and eliminate of_fdt_match().
Meanwhile, move of_fdt_is_compatible() under CONFIG_OF_EARLY_FLATTREE,
as all callers are over there.
Fixes: 9b4d2b635b
("of/fdt: Remove dead code and mark functions with __init")
Cc: Frank Rowand <frowand.list@gmail.com>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Signed-off-by: Rob Herring <robh@kernel.org>
This commit is contained in:
parent
2554fcb8cc
commit
5d9c4e9591
|
@ -78,38 +78,6 @@ void __init of_fdt_limit_memory(int limit)
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* of_fdt_is_compatible - Return true if given node from the given blob has
|
||||
* compat in its compatible list
|
||||
* @blob: A device tree blob
|
||||
* @node: node to test
|
||||
* @compat: compatible string to compare with compatible list.
|
||||
*
|
||||
* On match, returns a non-zero value with smaller values returned for more
|
||||
* specific compatible values.
|
||||
*/
|
||||
static int of_fdt_is_compatible(const void *blob,
|
||||
unsigned long node, const char *compat)
|
||||
{
|
||||
const char *cp;
|
||||
int cplen;
|
||||
unsigned long l, score = 0;
|
||||
|
||||
cp = fdt_getprop(blob, node, "compatible", &cplen);
|
||||
if (cp == NULL)
|
||||
return 0;
|
||||
while (cplen > 0) {
|
||||
score++;
|
||||
if (of_compat_cmp(cp, compat, strlen(compat)) == 0)
|
||||
return score;
|
||||
l = strlen(cp) + 1;
|
||||
cp += l;
|
||||
cplen -= l;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static bool of_fdt_device_is_available(const void *blob, unsigned long node)
|
||||
{
|
||||
const char *status = fdt_getprop(blob, node, "status", NULL);
|
||||
|
@ -123,27 +91,6 @@ static bool of_fdt_device_is_available(const void *blob, unsigned long node)
|
|||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* of_fdt_match - Return true if node matches a list of compatible values
|
||||
*/
|
||||
static int __init of_fdt_match(const void *blob, unsigned long node,
|
||||
const char *const *compat)
|
||||
{
|
||||
unsigned int tmp, score = 0;
|
||||
|
||||
if (!compat)
|
||||
return 0;
|
||||
|
||||
while (*compat) {
|
||||
tmp = of_fdt_is_compatible(blob, node, *compat);
|
||||
if (tmp && (score == 0 || (tmp < score)))
|
||||
score = tmp;
|
||||
compat++;
|
||||
}
|
||||
|
||||
return score;
|
||||
}
|
||||
|
||||
static void *unflatten_dt_alloc(void **mem, unsigned long size,
|
||||
unsigned long align)
|
||||
{
|
||||
|
@ -764,6 +711,38 @@ const void *__init of_get_flat_dt_prop(unsigned long node, const char *name,
|
|||
return fdt_getprop(initial_boot_params, node, name, size);
|
||||
}
|
||||
|
||||
/**
|
||||
* of_fdt_is_compatible - Return true if given node from the given blob has
|
||||
* compat in its compatible list
|
||||
* @blob: A device tree blob
|
||||
* @node: node to test
|
||||
* @compat: compatible string to compare with compatible list.
|
||||
*
|
||||
* On match, returns a non-zero value with smaller values returned for more
|
||||
* specific compatible values.
|
||||
*/
|
||||
static int of_fdt_is_compatible(const void *blob,
|
||||
unsigned long node, const char *compat)
|
||||
{
|
||||
const char *cp;
|
||||
int cplen;
|
||||
unsigned long l, score = 0;
|
||||
|
||||
cp = fdt_getprop(blob, node, "compatible", &cplen);
|
||||
if (cp == NULL)
|
||||
return 0;
|
||||
while (cplen > 0) {
|
||||
score++;
|
||||
if (of_compat_cmp(cp, compat, strlen(compat)) == 0)
|
||||
return score;
|
||||
l = strlen(cp) + 1;
|
||||
cp += l;
|
||||
cplen -= l;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* of_flat_dt_is_compatible - Return true if given node has compat in compatible list
|
||||
* @node: node to test
|
||||
|
@ -779,7 +758,19 @@ int __init of_flat_dt_is_compatible(unsigned long node, const char *compat)
|
|||
*/
|
||||
static int __init of_flat_dt_match(unsigned long node, const char *const *compat)
|
||||
{
|
||||
return of_fdt_match(initial_boot_params, node, compat);
|
||||
unsigned int tmp, score = 0;
|
||||
|
||||
if (!compat)
|
||||
return 0;
|
||||
|
||||
while (*compat) {
|
||||
tmp = of_fdt_is_compatible(initial_boot_params, node, *compat);
|
||||
if (tmp && (score == 0 || (tmp < score)))
|
||||
score = tmp;
|
||||
compat++;
|
||||
}
|
||||
|
||||
return score;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue