pinctrl: Use of_property_present() for testing DT property presence
authorRob Herring <robh@kernel.org>
Fri, 10 Mar 2023 14:47:20 +0000 (08:47 -0600)
committerLinus Walleij <linus.walleij@linaro.org>
Thu, 23 Mar 2023 08:28:38 +0000 (09:28 +0100)
It is preferred to use typed property access functions (i.e.
of_property_read_<type> functions) rather than low-level
of_get_property/of_find_property functions for reading properties. As
part of this, convert of_get_property/of_find_property calls to the
recently added of_property_present() helper when we just want to test
for presence of a property and nothing more.

Signed-off-by: Rob Herring <robh@kernel.org>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20230310144721.1544669-1-robh@kernel.org
[Dropped hunk hitting drivers/pinctrl/renesas/pinctrl.c]
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/mediatek/pinctrl-moore.c
drivers/pinctrl/pinctrl-single.c
drivers/pinctrl/pinctrl-stmfx.c
drivers/pinctrl/stm32/pinctrl-stm32.c
drivers/pinctrl/sunxi/pinctrl-sunxi.c

index 007b98c..8649a2f 100644 (file)
@@ -586,7 +586,7 @@ static int mtk_build_gpiochip(struct mtk_pinctrl *hw)
         * Documentation/devicetree/bindings/gpio/gpio.txt on how to
         * bind pinctrl and gpio drivers via the "gpio-ranges" property.
         */
-       if (!of_find_property(hw->dev->of_node, "gpio-ranges", NULL)) {
+       if (!of_property_present(hw->dev->of_node, "gpio-ranges")) {
                ret = gpiochip_add_pin_range(chip, dev_name(hw->dev), 0, 0,
                                             chip->ngpio);
                if (ret < 0) {
index 1909237..0dabbcf 100644 (file)
@@ -939,11 +939,11 @@ static int pcs_parse_pinconf(struct pcs_device *pcs, struct device_node *np,
 
        /* cacluate how much properties are supported in current node */
        for (i = 0; i < ARRAY_SIZE(prop2); i++) {
-               if (of_find_property(np, prop2[i].name, NULL))
+               if (of_property_present(np, prop2[i].name))
                        nconfs++;
        }
        for (i = 0; i < ARRAY_SIZE(prop4); i++) {
-               if (of_find_property(np, prop4[i].name, NULL))
+               if (of_property_present(np, prop4[i].name))
                        nconfs++;
        }
        if (!nconfs)
index 1181c4b..3c03169 100644 (file)
@@ -632,7 +632,7 @@ static int stmfx_pinctrl_probe(struct platform_device *pdev)
        pctl->dev = &pdev->dev;
        pctl->stmfx = stmfx;
 
-       if (!of_find_property(np, "gpio-ranges", NULL)) {
+       if (!of_property_present(np, "gpio-ranges")) {
                dev_err(pctl->dev, "missing required gpio-ranges property\n");
                return -EINVAL;
        }
index cb33a23..66a25be 100644 (file)
@@ -1374,7 +1374,7 @@ static struct irq_domain *stm32_pctrl_get_irq_domain(struct platform_device *pde
        struct device_node *parent;
        struct irq_domain *domain;
 
-       if (!of_find_property(np, "interrupt-parent", NULL))
+       if (!of_property_present(np, "interrupt-parent"))
                return NULL;
 
        parent = of_irq_find_parent(np);
index f35179e..1dc1882 100644 (file)
@@ -224,16 +224,16 @@ static int sunxi_pctrl_get_group_pins(struct pinctrl_dev *pctldev,
 
 static bool sunxi_pctrl_has_bias_prop(struct device_node *node)
 {
-       return of_find_property(node, "bias-pull-up", NULL) ||
-               of_find_property(node, "bias-pull-down", NULL) ||
-               of_find_property(node, "bias-disable", NULL) ||
-               of_find_property(node, "allwinner,pull", NULL);
+       return of_property_present(node, "bias-pull-up") ||
+               of_property_present(node, "bias-pull-down") ||
+               of_property_present(node, "bias-disable") ||
+               of_property_present(node, "allwinner,pull");
 }
 
 static bool sunxi_pctrl_has_drive_prop(struct device_node *node)
 {
-       return of_find_property(node, "drive-strength", NULL) ||
-               of_find_property(node, "allwinner,drive", NULL);
+       return of_property_present(node, "drive-strength") ||
+               of_property_present(node, "allwinner,drive");
 }
 
 static int sunxi_pctrl_parse_bias_prop(struct device_node *node)
@@ -241,13 +241,13 @@ static int sunxi_pctrl_parse_bias_prop(struct device_node *node)
        u32 val;
 
        /* Try the new style binding */
-       if (of_find_property(node, "bias-pull-up", NULL))
+       if (of_property_present(node, "bias-pull-up"))
                return PIN_CONFIG_BIAS_PULL_UP;
 
-       if (of_find_property(node, "bias-pull-down", NULL))
+       if (of_property_present(node, "bias-pull-down"))
                return PIN_CONFIG_BIAS_PULL_DOWN;
 
-       if (of_find_property(node, "bias-disable", NULL))
+       if (of_property_present(node, "bias-disable"))
                return PIN_CONFIG_BIAS_DISABLE;
 
        /* And fall back to the old binding */
@@ -1424,7 +1424,7 @@ static int sunxi_pinctrl_setup_debounce(struct sunxi_pinctrl *pctl,
                return 0;
 
        /* If we don't have any setup, bail out */
-       if (!of_find_property(node, "input-debounce", NULL))
+       if (!of_property_present(node, "input-debounce"))
                return 0;
 
        losc = devm_clk_get(pctl->dev, "losc");