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. > 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 <peter.ujfalusi@xxxxxx> > --- > 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. > 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
Attachment:
pgpe9Sw82fJMq.pgp
Description: PGP signature