pwm: Delete deprecated functions pwm_request() and pwm_free()
Since commit5a7fbe452a
("backlight: pwm_bl: Drop support for legacy PWM probing") the last user of pwm_request() and pwm_free() is gone. So remove these functions that were deprecated over 10 years ago in commit8138d2ddbc
("pwm: Add table-based lookup for static mappings"). Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> [thierry.reding@gmail.com: clean up a bit after removal] Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
This commit is contained in:
parent
9e4fa80ab7
commit
0af4d704ba
|
@ -35,12 +35,9 @@ consumers to providers, as given in the following example::
|
|||
Using PWMs
|
||||
----------
|
||||
|
||||
Legacy users can request a PWM device using pwm_request() and free it
|
||||
after usage with pwm_free().
|
||||
|
||||
New users should use the pwm_get() function and pass to it the consumer
|
||||
device or a consumer name. pwm_put() is used to free the PWM device. Managed
|
||||
variants of the getter, devm_pwm_get() and devm_fwnode_pwm_get(), also exist.
|
||||
Consumers use the pwm_get() function and pass to it the consumer device or a
|
||||
consumer name. pwm_put() is used to free the PWM device. Managed variants of
|
||||
the getter, devm_pwm_get() and devm_fwnode_pwm_get(), also exist.
|
||||
|
||||
After being requested, a PWM has to be configured using::
|
||||
|
||||
|
@ -165,8 +162,8 @@ consumers should implement it as described in the "Using PWMs" section.
|
|||
Locking
|
||||
-------
|
||||
|
||||
The PWM core list manipulations are protected by a mutex, so pwm_request()
|
||||
and pwm_free() may not be called from an atomic context. Currently the
|
||||
The PWM core list manipulations are protected by a mutex, so pwm_get()
|
||||
and pwm_put() may not be called from an atomic context. Currently the
|
||||
PWM core does not enforce any locking to pwm_enable(), pwm_disable() and
|
||||
pwm_config(), so the calling context is currently driver specific. This
|
||||
is an issue derived from the former barebone API and should be fixed soon.
|
||||
|
|
|
@ -35,11 +35,6 @@ 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)
|
||||
{
|
||||
|
@ -369,43 +364,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 +396,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 +736,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 +960,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);
|
||||
}
|
||||
|
||||
|
|
|
@ -309,8 +309,6 @@ struct pwm_chip {
|
|||
|
||||
#if IS_ENABLED(CONFIG_PWM)
|
||||
/* PWM user APIs */
|
||||
struct pwm_device *pwm_request(int pwm_id, const char *label);
|
||||
void pwm_free(struct pwm_device *pwm);
|
||||
int pwm_apply_state(struct pwm_device *pwm, const struct pwm_state *state);
|
||||
int pwm_adjust_config(struct pwm_device *pwm);
|
||||
|
||||
|
@ -410,17 +408,6 @@ struct pwm_device *devm_fwnode_pwm_get(struct device *dev,
|
|||
struct fwnode_handle *fwnode,
|
||||
const char *con_id);
|
||||
#else
|
||||
static inline struct pwm_device *pwm_request(int pwm_id, const char *label)
|
||||
{
|
||||
might_sleep();
|
||||
return ERR_PTR(-ENODEV);
|
||||
}
|
||||
|
||||
static inline void pwm_free(struct pwm_device *pwm)
|
||||
{
|
||||
might_sleep();
|
||||
}
|
||||
|
||||
static inline int pwm_apply_state(struct pwm_device *pwm,
|
||||
const struct pwm_state *state)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue