OSDN Git Service

pwm: core: Convert to use fwnode for matching
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 7 Jun 2021 12:24:54 +0000 (15:24 +0300)
committerThierry Reding <thierry.reding@gmail.com>
Wed, 30 Jun 2021 17:12:19 +0000 (19:12 +0200)
When we traverse the list of the registered PWM controllers,
use fwnode to match. This will help for further cleanup.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
drivers/pwm/core.c

index a88e13c..26765d4 100644 (file)
@@ -699,14 +699,14 @@ int pwm_adjust_config(struct pwm_device *pwm)
 }
 EXPORT_SYMBOL_GPL(pwm_adjust_config);
 
-static struct pwm_chip *of_node_to_pwmchip(struct device_node *np)
+static struct pwm_chip *fwnode_to_pwmchip(struct fwnode_handle *fwnode)
 {
        struct pwm_chip *chip;
 
        mutex_lock(&pwm_lock);
 
        list_for_each_entry(chip, &pwm_chips, list)
-               if (chip->dev && chip->dev->of_node == np) {
+               if (chip->dev && dev_fwnode(chip->dev) == fwnode) {
                        mutex_unlock(&pwm_lock);
                        return chip;
                }
@@ -785,7 +785,7 @@ struct pwm_device *of_pwm_get(struct device *dev, struct device_node *np,
                return ERR_PTR(err);
        }
 
-       pc = of_node_to_pwmchip(args.np);
+       pc = fwnode_to_pwmchip(of_fwnode_handle(args.np));
        if (IS_ERR(pc)) {
                if (PTR_ERR(pc) != -EPROBE_DEFER)
                        pr_err("%s(): PWM chip not found\n", __func__);