diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2014-02-28 13:29:35 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2014-02-28 15:05:41 +0100 |
commit | 37acfdf97d1ebddb431e2ed9a9aa4482ac1a474a (patch) | |
tree | ee362ee6e2b8480c4b845766611d41dbe5f1fd18 | |
parent | acd028a3cb35fc2afef0a81be4504d2e188113f9 (diff) | |
download | barebox-37acfdf97d1ebddb431e2ed9a9aa4482ac1a474a.tar.gz barebox-37acfdf97d1ebddb431e2ed9a9aa4482ac1a474a.tar.xz |
PWM: Add functions for getting/setting period/duty cycle
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | drivers/pwm/core.c | 20 | ||||
-rw-r--r-- | include/pwm.h | 5 |
2 files changed, 25 insertions, 0 deletions
diff --git a/drivers/pwm/core.c b/drivers/pwm/core.c index f2b062e335..7f307244f9 100644 --- a/drivers/pwm/core.c +++ b/drivers/pwm/core.c @@ -198,6 +198,26 @@ int pwm_config(struct pwm_device *pwm, int duty_ns, int period_ns) } EXPORT_SYMBOL_GPL(pwm_config); +void pwm_set_period(struct pwm_device *pwm, unsigned int period_ns) +{ + pwm->period_ns = period_ns; +} + +unsigned int pwm_get_period(struct pwm_device *pwm) +{ + return pwm->period_ns; +} + +void pwm_set_duty_cycle(struct pwm_device *pwm, unsigned int duty_ns) +{ + pwm->duty_ns = duty_ns; +} + +unsigned int pwm_get_duty_cycle(struct pwm_device *pwm) +{ + return pwm->duty_ns; +} + /* * pwm_enable - start a PWM output toggling */ diff --git a/include/pwm.h b/include/pwm.h index bdc2fdd858..5ca9fa056b 100644 --- a/include/pwm.h +++ b/include/pwm.h @@ -29,6 +29,11 @@ int pwm_enable(struct pwm_device *pwm); */ void pwm_disable(struct pwm_device *pwm); +void pwm_set_period(struct pwm_device *pwm, unsigned int period); +unsigned int pwm_get_period(struct pwm_device *pwm); +void pwm_set_duty_cycle(struct pwm_device *pwm, unsigned int duty); +unsigned int pwm_get_duty_cycle(struct pwm_device *pwm); + struct pwm_chip; /** |