]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - include/linux/pwm.h
usb: chipidea: ci_hdrc_imx: remove unused variable 'res'
[karo-tx-linux.git] / include / linux / pwm.h
index a4df2042b79c15f75bf53dd8d185fd6c80426b05..f0feafd184a0d655fff326bc979eebd21a7a28ab 100644 (file)
@@ -76,6 +76,7 @@ enum pwm_polarity {
 enum {
        PWMF_REQUESTED = 1 << 0,
        PWMF_ENABLED = 1 << 1,
+       PWMF_EXPORTED = 1 << 2,
 };
 
 struct pwm_device {
@@ -86,7 +87,9 @@ struct pwm_device {
        struct pwm_chip         *chip;
        void                    *chip_data;
 
-       unsigned int            period; /* in nanoseconds */
+       unsigned int            period;         /* in nanoseconds */
+       unsigned int            duty_cycle;     /* in nanoseconds */
+       enum pwm_polarity       polarity;
 };
 
 static inline void pwm_set_period(struct pwm_device *pwm, unsigned int period)
@@ -100,6 +103,17 @@ static inline unsigned int pwm_get_period(struct pwm_device *pwm)
        return pwm ? pwm->period : 0;
 }
 
+static inline void pwm_set_duty_cycle(struct pwm_device *pwm, unsigned int duty)
+{
+       if (pwm)
+               pwm->duty_cycle = duty;
+}
+
+static inline unsigned int pwm_get_duty_cycle(struct pwm_device *pwm)
+{
+       return pwm ? pwm->duty_cycle : 0;
+}
+
 /*
  * pwm_set_polarity - configure the polarity of a PWM signal
  */
@@ -278,4 +292,17 @@ static inline void pwm_add_table(struct pwm_lookup *table, size_t num)
 }
 #endif
 
+#ifdef CONFIG_PWM_SYSFS
+void pwmchip_sysfs_export(struct pwm_chip *chip);
+void pwmchip_sysfs_unexport(struct pwm_chip *chip);
+#else
+static inline void pwmchip_sysfs_export(struct pwm_chip *chip)
+{
+}
+
+static inline void pwmchip_sysfs_unexport(struct pwm_chip *chip)
+{
+}
+#endif /* CONFIG_PWM_SYSFS */
+
 #endif /* __LINUX_PWM_H */