Re: [PATCH 1/2] pwm: add period and polarity to struct pwm_lookup

From: Russell King - ARM Linux
Date: Wed Apr 09 2014 - 15:37:57 EST


On Wed, Apr 09, 2014 at 08:04:08PM +0200, Alexandre Belloni wrote:
> Adds a period and a polarity member to struct pwm_lookup so that when performing
> a lookup using the lookup table instead of device tree, we are able to set the
> period and the polarity accordingly like what is done in
> of_pwm_xlate_with_flags.
>
> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>
> ---
> drivers/pwm/core.c | 5 +++++
> include/linux/pwm.h | 2 ++
> 2 files changed, 7 insertions(+)
>
> diff --git a/drivers/pwm/core.c b/drivers/pwm/core.c
> index a80471399c20..206e5996359c 100644
> --- a/drivers/pwm/core.c
> +++ b/drivers/pwm/core.c
> @@ -663,6 +663,11 @@ struct pwm_device *pwm_get(struct device *dev, const char *con_id)
>
> if (chip)
> pwm = pwm_request_from_chip(chip, index, con_id ?: dev_id);
> + if (IS_ERR(pwm))
> + return pwm;
> +
> + pwm_set_period(pwm, p->period);
> + pwm_set_polarity(pwm, p->polarity);
>
> mutex_unlock(&pwm_lookup_lock);

Clearly, this is not right. Returning while leaving the mutex locked?
No.

The second issue is... with _just_ this patch applied, we end up with
"period" and "polarity" presumably initialised to zero, which means we
now end up with the above explicitly setting the period and polarity as
such. Isn't that going to change the behaviour of this?

--
FTTC broadband for 0.8mile line: now at 9.7Mbps down 460kbps up... slowly
improving, and getting towards what was expected from it.
--
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/