Lines Matching refs:clk_pwm

14 struct clk_pwm {  struct
20 static inline struct clk_pwm *to_clk_pwm(struct clk_hw *hw) in to_clk_pwm() argument
22 return container_of(hw, struct clk_pwm, hw); in to_clk_pwm()
27 struct clk_pwm *clk_pwm = to_clk_pwm(hw); in clk_pwm_prepare() local
29 return pwm_enable(clk_pwm->pwm); in clk_pwm_prepare()
34 struct clk_pwm *clk_pwm = to_clk_pwm(hw); in clk_pwm_unprepare() local
36 pwm_disable(clk_pwm->pwm); in clk_pwm_unprepare()
42 struct clk_pwm *clk_pwm = to_clk_pwm(hw); in clk_pwm_recalc_rate() local
44 return clk_pwm->fixed_rate; in clk_pwm_recalc_rate()
49 struct clk_pwm *clk_pwm = to_clk_pwm(hw); in clk_pwm_get_duty_cycle() local
52 pwm_get_state(clk_pwm->pwm, &state); in clk_pwm_get_duty_cycle()
71 struct clk_pwm *clk_pwm; in clk_pwm_probe() local
77 clk_pwm = devm_kzalloc(&pdev->dev, sizeof(*clk_pwm), GFP_KERNEL); in clk_pwm_probe()
78 if (!clk_pwm) in clk_pwm_probe()
91 if (of_property_read_u32(node, "clock-frequency", &clk_pwm->fixed_rate)) in clk_pwm_probe()
92 clk_pwm->fixed_rate = div64_u64(NSEC_PER_SEC, pargs.period); in clk_pwm_probe()
94 if (!clk_pwm->fixed_rate) { in clk_pwm_probe()
99 if (pargs.period != NSEC_PER_SEC / clk_pwm->fixed_rate && in clk_pwm_probe()
100 pargs.period != DIV_ROUND_UP(NSEC_PER_SEC, clk_pwm->fixed_rate)) { in clk_pwm_probe()
123 clk_pwm->pwm = pwm; in clk_pwm_probe()
124 clk_pwm->hw.init = &init; in clk_pwm_probe()
125 ret = devm_clk_hw_register(&pdev->dev, &clk_pwm->hw); in clk_pwm_probe()
129 return of_clk_add_hw_provider(node, of_clk_hw_simple_get, &clk_pwm->hw); in clk_pwm_probe()