Re: [PATCH 1/2] PWM: add pwm framework support

From: Sascha Hauer
Date: Tue Jun 28 2011 - 12:22:31 EST


On Tue, Jun 28, 2011 at 02:27:04PM +0200, Arnd Bergmann wrote:
> On Tuesday 28 June 2011, Sascha Hauer wrote:
> > This patch adds framework support for PWM (pulse width modulation) devices.
> >
> > The is a barebone PWM API already in the kernel under include/linux/pwm.h,
> > but it does not allow for multiple drivers as each of them implements the
> > pwm_*() functions.
>
> Hi Sascha,
>
> This looks very nice.
> I have only trivial comments, except for the suggestion to use idr.
>
> > +PWM core
> > +M: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>
> > +L: linux-kernel@xxxxxxxxxxxxxxx
> > +S: Maintained
>
> I would add
>
> F: drivers/pwm/
>
> > diff --git a/drivers/pwm/Kconfig b/drivers/pwm/Kconfig
> > new file mode 100644
> > index 0000000..93c1052
> > --- /dev/null
> > +++ b/drivers/pwm/Kconfig
> > @@ -0,0 +1,12 @@
> > +menuconfig PWM
> > + bool "PWM Support"
> > + help
> > + This enables PWM support through the generic PWM framework.
> > + You only need to enable this, if you also want to enable
> > + one or more of the PWM drivers below.
>
> Remove the comma.
>
> > +
> > +/*
> > + * The next pwm id to assign. We do not bother to fill gaps which
> > + * occur during dynamic registering/deregistering of pwms, but
> > + * instead assign a uniq id to each new pwm.
> unique
>
> > + */
> > +static int next_pwm_id;
>
> How about using idr? It provides you a fast lookup and handles giving
> out unique numbers.

Sounds like a good idea, but is idr compatible with the pwmchip_reserve
function below? idr gives no guarantee that the first id is zero, but I
need exactly this to make the ids for the internal PWMs known at compile
time.

(In the longer term it probably makes sense to implement a
pwm_get(struct device *, const char *id) similar to the clk api, I just
wanted to stay compatible to the current PWM API for now)

Sascha


--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/