struct pwm_ops — PWM controller operations
struct pwm_ops { int (* request) (struct pwm_chip *chip, struct pwm_device *pwm); void (* free) (struct pwm_chip *chip, struct pwm_device *pwm); int (* config) (struct pwm_chip *chip, struct pwm_device *pwm,int duty_ns, int period_ns); int (* set_polarity) (struct pwm_chip *chip, struct pwm_device *pwm,enum pwm_polarity polarity); int (* enable) (struct pwm_chip *chip, struct pwm_device *pwm); void (* disable) (struct pwm_chip *chip, struct pwm_device *pwm); int (* apply) (struct pwm_chip *chip, struct pwm_device *pwm,struct pwm_state *state); void (* get_state) (struct pwm_chip *chip, struct pwm_device *pwm,struct pwm_state *state); #ifdef CONFIG_DEBUG_FS void (* dbg_show) (struct pwm_chip *chip, struct seq_file *s); #endif struct module * owner; };
optional hook for requesting a PWM
optional hook for freeing a PWM
configure duty cycles and period length for this PWM
configure the polarity of this PWM
enable PWM output toggling
disable PWM output toggling
atomically apply a new PWM config. The state argument should be adjusted with the real hardware config (if the approximate the period or duty_cycle value, state should reflect it)
get the current PWM state. This function is only called once per PWM device when the PWM chip is registered.
optional routine to show contents in debugfs
helps prevent removal of modules exporting active PWMs