11a189b97SRussell King #ifndef __LINUX_PWM_H 21a189b97SRussell King #define __LINUX_PWM_H 31a189b97SRussell King 41a189b97SRussell King struct pwm_device; 51a189b97SRussell King 61a189b97SRussell King /* 71a189b97SRussell King * pwm_request - request a PWM device 81a189b97SRussell King */ 91a189b97SRussell King struct pwm_device *pwm_request(int pwm_id, const char *label); 101a189b97SRussell King 111a189b97SRussell King /* 121a189b97SRussell King * pwm_free - free a PWM device 131a189b97SRussell King */ 141a189b97SRussell King void pwm_free(struct pwm_device *pwm); 151a189b97SRussell King 161a189b97SRussell King /* 171a189b97SRussell King * pwm_config - change a PWM device configuration 181a189b97SRussell King */ 191a189b97SRussell King int pwm_config(struct pwm_device *pwm, int duty_ns, int period_ns); 201a189b97SRussell King 211a189b97SRussell King /* 221a189b97SRussell King * pwm_enable - start a PWM output toggling 231a189b97SRussell King */ 241a189b97SRussell King int pwm_enable(struct pwm_device *pwm); 251a189b97SRussell King 261a189b97SRussell King /* 271a189b97SRussell King * pwm_disable - stop a PWM output toggling 281a189b97SRussell King */ 291a189b97SRussell King void pwm_disable(struct pwm_device *pwm); 301a189b97SRussell King 31*5243ef8bSMark Vels #endif /* __LINUX_PWM_H */ 32