aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2008-04-13 16:41:55 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2008-05-19 11:25:39 -0400
commit1a189b97190d3f0f8cf0379a799d3555b2d648bb (patch)
tree823188b22214bc2c7aeca8539c45ac0bb6d7e4d8
parentb8291ad07a7f3b5b990900f0001198ac23ba893e (diff)
[ARM] pxa: Add bare bones PWM API
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r--arch/arm/Kconfig3
-rw-r--r--include/linux/pwm.h31
2 files changed, 34 insertions, 0 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index b786e68914d4..c274dbb89a83 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -22,6 +22,9 @@ config ARM
22 Europe. There is an ARM Linux project with a web page at 22 Europe. There is an ARM Linux project with a web page at
23 <http://www.arm.linux.org.uk/>. 23 <http://www.arm.linux.org.uk/>.
24 24
25config HAVE_PWM
26 bool
27
25config SYS_SUPPORTS_APM_EMULATION 28config SYS_SUPPORTS_APM_EMULATION
26 bool 29 bool
27 30
diff --git a/include/linux/pwm.h b/include/linux/pwm.h
new file mode 100644
index 000000000000..3945f803d514
--- /dev/null
+++ b/include/linux/pwm.h
@@ -0,0 +1,31 @@
1#ifndef __LINUX_PWM_H
2#define __LINUX_PWM_H
3
4struct pwm_device;
5
6/*
7 * pwm_request - request a PWM device
8 */
9struct pwm_device *pwm_request(int pwm_id, const char *label);
10
11/*
12 * pwm_free - free a PWM device
13 */
14void pwm_free(struct pwm_device *pwm);
15
16/*
17 * pwm_config - change a PWM device configuration
18 */
19int pwm_config(struct pwm_device *pwm, int duty_ns, int period_ns);
20
21/*
22 * pwm_enable - start a PWM output toggling
23 */
24int pwm_enable(struct pwm_device *pwm);
25
26/*
27 * pwm_disable - stop a PWM output toggling
28 */
29void pwm_disable(struct pwm_device *pwm);
30
31#endif /* __ASM_ARCH_PWM_H */