cortex-A8,s5pv210,pwm蜂鸣器.本人初学,哪位解释上这个流程

cortex-A8,s5pv210,pwm蜂鸣器.本人初学,哪位解释下这个流程./* Check to see if we are changing the cloc

cortex-A8,s5pv210,pwm蜂鸣器.本人初学,哪位解释下这个流程.
/* Check to see if we are changing the clock rate of the PWM */

if (pwm->period_ns != period_ns) {
if (pwm_is_tdiv(pwm)) {
tin_rate = pwm_calc_tin(pwm, period);
clk_set_rate(pwm->clk_div, tin_rate);
} else
tin_rate = clk_get_rate(pwm->clk);

pwm->period_ns = period_ns;

pwm_dbg(pwm, "tin_rate=%lu\n", tin_rate);

tin_ns = NS_IN_HZ / tin_rate;
tcnt = period_ns / tin_ns;
} else
tin_ns = NS_IN_HZ / clk_get_rate(pwm->clk);

[解决办法]

引用:
那个pwm_is_tdiv是不是一种方式..


static inline int pwm_is_tdiv(struct s3c_pwm_device *pwm)
 {
 return clk_get_parent(pwm->clk) == pwm->clk_div;
 }
判断占空比是否改变