Re: [PATCH v3 3/4] pwm: core: Export of_pwm_request() so client drivers can also use it
From: Thierry Reding <hidden>
Date: 2012-12-11 07:01:22
Also in:
lkml
On Mon, Dec 10, 2012 at 11:00:36AM +0100, Peter Ujfalusi wrote:
Allow client driver to use of_pwm_request() to get the pwm they need. This is needed for drivers which handle more than one pwm separately, like leds-pwm driver which have:
Hi Peter, I really was hoping that we didn't have to export this function, but I can't think of any other way to solve the problem at hand either. I'd prefer to rename the function to of_pwm_get() at the same time to keep consistent with other subsystems that provide similar functionality. Also, please use all-caps for PWM in prose. And while at it, you can drop the "core:" and "so client drivers can also use it" from the subject line.
quoted hunk ↗ jump to hunk
pwmleds { compatible = "pwm-leds"; kpad { label = "omap4::keypad"; pwms = <&twl_pwm 0 7812500>; max-brightness = <127>; }; charging { label = "omap4:green:chrg"; pwms = <&twl_pwmled 0 7812500>; max-brightness = <255>; }; }; in the dts files. Signed-off-by: Peter Ujfalusi <redacted> --- drivers/pwm/core.c | 2 +- include/linux/pwm.h | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-)diff --git a/drivers/pwm/core.c b/drivers/pwm/core.c index 903138b..3a7ebcc 100644 --- a/drivers/pwm/core.c +++ b/drivers/pwm/core.c@@ -486,7 +486,7 @@ static struct pwm_chip *of_node_to_pwmchip(struct device_node *np) * becomes mandatory for devices that look up the PWM device via the con_id * parameter. */ -static struct pwm_device *of_pwm_request(struct device_node *np, +struct pwm_device *of_pwm_request(struct device_node *np, const char *con_id) { struct pwm_device *pwm = NULL;
This is missing an EXPORT_SYMBOL_GPL.
quoted hunk ↗ jump to hunk
diff --git a/include/linux/pwm.h b/include/linux/pwm.h index 6d661f3..d70ffe3 100644 --- a/include/linux/pwm.h +++ b/include/linux/pwm.h@@ -175,6 +175,7 @@ struct pwm_device *of_pwm_xlate_with_flags(struct pwm_chip *pc, const struct of_phandle_args *args); struct pwm_device *pwm_get(struct device *dev, const char *consumer); +struct pwm_device *of_pwm_request(struct device_node *np, const char *con_id);
While at it, maybe rename the con_id parameter as well to match pwm_get(). Thierry
Attachments
- (unnamed) [application/pgp-signature] 836 bytes