summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2014-02-28 13:29:35 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2014-02-28 15:05:41 +0100
commit37acfdf97d1ebddb431e2ed9a9aa4482ac1a474a (patch)
treeee362ee6e2b8480c4b845766611d41dbe5f1fd18
parentacd028a3cb35fc2afef0a81be4504d2e188113f9 (diff)
downloadbarebox-37acfdf97d1ebddb431e2ed9a9aa4482ac1a474a.tar.gz
PWM: Add functions for getting/setting period/duty cycle
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--drivers/pwm/core.c20
-rw-r--r--include/pwm.h5
2 files changed, 25 insertions, 0 deletions
diff --git a/drivers/pwm/core.c b/drivers/pwm/core.c
index f2b062e..7f30724 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 bdc2fdd..5ca9fa0 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;
/**