summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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 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;
/**