From: Zijun Hu <quic_zijuhu@xxxxxxxxxxx> of_property_present() is to check if a property is present or not, and it should be applicable for all kinds of property, but it calls of_property_read_bool() to implement the function, so narrows its property scope to only bool type. Fix by exchanging implementation, namely, changing call chain from: of_property_present() -> of_property_read_bool() -> of_find_property() to : of_property_read_bool() -> of_property_present() -> of_find_property() which looks more logical as well. Signed-off-by: Zijun Hu <quic_zijuhu@xxxxxxxxxxx> --- include/linux/of.h | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/include/linux/of.h b/include/linux/of.h index f921786cb8ac782286ed5ff4425a35668204d050..7b0da8d352dffd8b872998903282119b6164a5bc 100644 --- a/include/linux/of.h +++ b/include/linux/of.h @@ -1243,17 +1243,16 @@ static inline int of_property_read_string_index(const struct device_node *np, } /** - * of_property_read_bool - Find a property - * @np: device node from which the property value is to be read. + * of_property_present - Test if a property is present in a node + * @np: device node to search for the property. * @propname: name of the property to be searched. * - * Search for a boolean property in a device node. Usage on non-boolean - * property types is deprecated. + * Test for a property present in a device node. * * Return: true if the property exists false otherwise. */ -static inline bool of_property_read_bool(const struct device_node *np, - const char *propname) +static inline bool of_property_present(const struct device_node *np, + const char *propname) { const struct property *prop = of_find_property(np, propname, NULL); @@ -1261,17 +1260,19 @@ static inline bool of_property_read_bool(const struct device_node *np, } /** - * of_property_present - Test if a property is present in a node - * @np: device node to search for the property. + * of_property_read_bool - Find a property + * @np: device node from which the property value is to be read. * @propname: name of the property to be searched. * - * Test for a property present in a device node. + * Search for a boolean property in a device node. Usage on non-boolean + * property types is deprecated. * * Return: true if the property exists false otherwise. */ -static inline bool of_property_present(const struct device_node *np, const char *propname) +static inline bool of_property_read_bool(const struct device_node *np, + const char *propname) { - return of_property_read_bool(np, propname); + return of_property_present(np, propname); } /** -- 2.34.1