Lines Matching refs:clk_pwm
17 struct clk_pwm { struct
23 static inline struct clk_pwm *to_clk_pwm(struct clk_hw *hw) in to_clk_pwm() argument
25 return container_of(hw, struct clk_pwm, hw); in to_clk_pwm()
30 struct clk_pwm *clk_pwm = to_clk_pwm(hw); in clk_pwm_prepare() local
32 return pwm_enable(clk_pwm->pwm); in clk_pwm_prepare()
37 struct clk_pwm *clk_pwm = to_clk_pwm(hw); in clk_pwm_unprepare() local
39 pwm_disable(clk_pwm->pwm); in clk_pwm_unprepare()
45 struct clk_pwm *clk_pwm = to_clk_pwm(hw); in clk_pwm_recalc_rate() local
47 return clk_pwm->fixed_rate; in clk_pwm_recalc_rate()
60 struct clk_pwm *clk_pwm; in clk_pwm_probe() local
66 clk_pwm = devm_kzalloc(&pdev->dev, sizeof(*clk_pwm), GFP_KERNEL); in clk_pwm_probe()
67 if (!clk_pwm) in clk_pwm_probe()
79 if (of_property_read_u32(node, "clock-frequency", &clk_pwm->fixed_rate)) in clk_pwm_probe()
80 clk_pwm->fixed_rate = NSEC_PER_SEC / pwm->period; in clk_pwm_probe()
82 if (pwm->period != NSEC_PER_SEC / clk_pwm->fixed_rate && in clk_pwm_probe()
83 pwm->period != DIV_ROUND_UP(NSEC_PER_SEC, clk_pwm->fixed_rate)) { in clk_pwm_probe()
101 clk_pwm->pwm = pwm; in clk_pwm_probe()
102 clk_pwm->hw.init = &init; in clk_pwm_probe()
103 clk = devm_clk_register(&pdev->dev, &clk_pwm->hw); in clk_pwm_probe()