SYNOPSIS
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;
};
MEMBERS
request
- optional hook for requesting a PWM
free
- optional hook for freeing a PWM
config
- configure duty cycles and period length for this PWM
set_polarity
- configure the polarity of this PWM
enable
- enable PWM output toggling
disable
- disable PWM output toggling
apply
- 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_state
- get the current PWM state. This function is only called once per PWM device when the PWM chip is registered.
dbg_show
- optional routine to show contents in debugfs
owner
- helps prevent removal of modules exporting active PWMs
COPYRIGHT