[ARM] pxa: Add bare bones PWM API
authorRussell King <rmk@dyn-67.arm.linux.org.uk>
Sun, 13 Apr 2008 20:41:55 +0000 (21:41 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 19 May 2008 15:25:39 +0000 (16:25 +0100)
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/Kconfig
include/linux/pwm.h [new file with mode: 0644]

index b786e68914d4a20b12b743ee886b9acdbed623d7..c274dbb89a83adab175428fc1be5a69ec94ebd41 100644 (file)
@@ -22,6 +22,9 @@ config ARM
          Europe.  There is an ARM Linux project with a web page at
          <http://www.arm.linux.org.uk/>.
 
+config HAVE_PWM
+       bool
+
 config SYS_SUPPORTS_APM_EMULATION
        bool
 
diff --git a/include/linux/pwm.h b/include/linux/pwm.h
new file mode 100644 (file)
index 0000000..3945f80
--- /dev/null
@@ -0,0 +1,31 @@
+#ifndef __LINUX_PWM_H
+#define __LINUX_PWM_H
+
+struct pwm_device;
+
+/*
+ * pwm_request - request a PWM device
+ */
+struct pwm_device *pwm_request(int pwm_id, const char *label);
+
+/*
+ * pwm_free - free a PWM device
+ */
+void pwm_free(struct pwm_device *pwm);
+
+/*
+ * pwm_config - change a PWM device configuration
+ */
+int pwm_config(struct pwm_device *pwm, int duty_ns, int period_ns);
+
+/*
+ * pwm_enable - start a PWM output toggling
+ */
+int pwm_enable(struct pwm_device *pwm);
+
+/*
+ * pwm_disable - stop a PWM output toggling
+ */
+void pwm_disable(struct pwm_device *pwm);
+
+#endif /* __ASM_ARCH_PWM_H */