]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
reset: gpio: make the driver fwnode-agnostic
authorBartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Fri, 6 Mar 2026 17:22:58 +0000 (18:22 +0100)
committerPhilipp Zabel <p.zabel@pengutronix.de>
Mon, 9 Mar 2026 09:20:04 +0000 (10:20 +0100)
With reset core now being able to work with firmware nodes, we can make
reset-gpio node-agnostic and drop any OF dependencies.

Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
drivers/reset/reset-gpio.c

index 5044f809d0e59a08861597f4aeb685e95328c2af..26aa2c3a2e689385ffa6ac056ce8787518ea4376 100644 (file)
@@ -4,7 +4,7 @@
 #include <linux/gpio/consumer.h>
 #include <linux/mod_devicetable.h>
 #include <linux/module.h>
-#include <linux/of.h>
+#include <linux/property.h>
 #include <linux/reset-controller.h>
 
 struct reset_gpio_priv {
@@ -46,8 +46,8 @@ static const struct reset_control_ops reset_gpio_ops = {
        .status = reset_gpio_status,
 };
 
-static int reset_gpio_of_xlate(struct reset_controller_dev *rcdev,
-                              const struct of_phandle_args *reset_spec)
+static int reset_gpio_fwnode_xlate(struct reset_controller_dev *rcdev,
+                                  const struct fwnode_reference_args *reset_spec)
 {
        return reset_spec->args[0];
 }
@@ -72,8 +72,8 @@ static int reset_gpio_probe(struct auxiliary_device *adev,
        priv->rc.dev = dev;
 
        /* Cells to match GPIO specifier, but it's not really used */
-       priv->rc.of_reset_n_cells = 2;
-       priv->rc.of_xlate = reset_gpio_of_xlate;
+       priv->rc.fwnode_reset_n_cells = 2;
+       priv->rc.fwnode_xlate = reset_gpio_fwnode_xlate;
        priv->rc.nr_resets = 1;
 
        return devm_reset_controller_register(dev, &priv->rc);