From: Alexandre Belloni Date: Mon, 19 May 2014 20:42:32 +0000 (+0200) Subject: pwm: add period and polarity to struct pwm_lookup X-Git-Tag: v3.14.28+ltsi~518 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8d9f39a5e638611fe815e19f04c496c853b68d66;p=profile%2Fcommon%2Fkernel-common.git pwm: add period and polarity to struct pwm_lookup Add period and polarity members to struct pwm_lookup so that platforms using the lookup table can be treated the same way as those using the device tree. Signed-off-by: Alexandre Belloni Signed-off-by: Thierry Reding (cherry picked from commit 3796ce1d4d4b330a75005c5eda105603ce9d4071) Signed-off-by: Simon Horman --- diff --git a/drivers/pwm/core.c b/drivers/pwm/core.c index a804713..4b66bf0 100644 --- a/drivers/pwm/core.c +++ b/drivers/pwm/core.c @@ -661,10 +661,16 @@ struct pwm_device *pwm_get(struct device *dev, const char *con_id) } } + mutex_unlock(&pwm_lookup_lock); + 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); return pwm; } diff --git a/include/linux/pwm.h b/include/linux/pwm.h index f0feafd..29ca457 100644 --- a/include/linux/pwm.h +++ b/include/linux/pwm.h @@ -274,6 +274,8 @@ struct pwm_lookup { unsigned int index; const char *dev_id; const char *con_id; + unsigned int period; + enum pwm_polarity polarity; }; #define PWM_LOOKUP(_provider, _index, _dev_id, _con_id) \