Merge tag 'regulator-fix-v6.5-merge-window' of git://git.kernel.org/pub/scm/linux...
[linux-2.6-microblaze.git] / drivers / pwm / core.c
index 4747257..3daccea 100644 (file)
 static DEFINE_MUTEX(pwm_lookup_lock);
 static LIST_HEAD(pwm_lookup_list);
 
-/* protects access to pwm_chips, allocated_pwms, and pwm_tree */
+/* protects access to pwm_chips and allocated_pwms */
 static DEFINE_MUTEX(pwm_lock);
 
 static LIST_HEAD(pwm_chips);
 static DECLARE_BITMAP(allocated_pwms, MAX_PWMS);
-static RADIX_TREE(pwm_tree, GFP_KERNEL);
-
-static struct pwm_device *pwm_to_device(unsigned int pwm)
-{
-       return radix_tree_lookup(&pwm_tree, pwm);
-}
 
 /* Called with pwm_lock held */
 static int alloc_pwms(unsigned int count)
@@ -59,14 +53,6 @@ static int alloc_pwms(unsigned int count)
 /* Called with pwm_lock held */
 static void free_pwms(struct pwm_chip *chip)
 {
-       unsigned int i;
-
-       for (i = 0; i < chip->npwm; i++) {
-               struct pwm_device *pwm = &chip->pwms[i];
-
-               radix_tree_delete(&pwm_tree, pwm->pwm);
-       }
-
        bitmap_clear(allocated_pwms, chip->base, chip->npwm);
 
        kfree(chip->pwms);
@@ -307,8 +293,6 @@ int pwmchip_add(struct pwm_chip *chip)
                pwm->chip = chip;
                pwm->pwm = chip->base + i;
                pwm->hwpwm = i;
-
-               radix_tree_insert(&pwm_tree, pwm->pwm, pwm);
        }
 
        list_add(&chip->list, &pwm_chips);
@@ -369,43 +353,6 @@ int devm_pwmchip_add(struct device *dev, struct pwm_chip *chip)
 }
 EXPORT_SYMBOL_GPL(devm_pwmchip_add);
 
-/**
- * pwm_request() - request a PWM device
- * @pwm: global PWM device index
- * @label: PWM device label
- *
- * This function is deprecated, use pwm_get() instead.
- *
- * Returns: A pointer to a PWM device or an ERR_PTR()-encoded error code on
- * failure.
- */
-struct pwm_device *pwm_request(int pwm, const char *label)
-{
-       struct pwm_device *dev;
-       int err;
-
-       if (pwm < 0 || pwm >= MAX_PWMS)
-               return ERR_PTR(-EINVAL);
-
-       mutex_lock(&pwm_lock);
-
-       dev = pwm_to_device(pwm);
-       if (!dev) {
-               dev = ERR_PTR(-EPROBE_DEFER);
-               goto out;
-       }
-
-       err = pwm_device_request(dev, label);
-       if (err < 0)
-               dev = ERR_PTR(err);
-
-out:
-       mutex_unlock(&pwm_lock);
-
-       return dev;
-}
-EXPORT_SYMBOL_GPL(pwm_request);
-
 /**
  * pwm_request_from_chip() - request a PWM device relative to a PWM chip
  * @chip: PWM chip
@@ -438,18 +385,6 @@ struct pwm_device *pwm_request_from_chip(struct pwm_chip *chip,
 }
 EXPORT_SYMBOL_GPL(pwm_request_from_chip);
 
-/**
- * pwm_free() - free a PWM device
- * @pwm: PWM device
- *
- * This function is deprecated, use pwm_put() instead.
- */
-void pwm_free(struct pwm_device *pwm)
-{
-       pwm_put(pwm);
-}
-EXPORT_SYMBOL_GPL(pwm_free);
-
 static void pwm_apply_state_debug(struct pwm_device *pwm,
                                  const struct pwm_state *state)
 {
@@ -790,7 +725,7 @@ static struct pwm_device *of_pwm_get(struct device *dev, struct device_node *np,
        dl = pwm_device_link_add(dev, pwm);
        if (IS_ERR(dl)) {
                /* of_xlate ended up calling pwm_request_from_chip() */
-               pwm_free(pwm);
+               pwm_put(pwm);
                pwm = ERR_CAST(dl);
                goto put;
        }
@@ -1014,7 +949,7 @@ struct pwm_device *pwm_get(struct device *dev, const char *con_id)
 
        dl = pwm_device_link_add(dev, pwm);
        if (IS_ERR(dl)) {
-               pwm_free(pwm);
+               pwm_put(pwm);
                return ERR_CAST(dl);
        }