Lines Matching refs:osc
29 #define to_vexpress_osc(osc) container_of(osc, struct vexpress_osc, hw) argument
34 struct vexpress_osc *osc = to_vexpress_osc(hw); in vexpress_osc_recalc_rate() local
37 regmap_read(osc->reg, 0, &rate); in vexpress_osc_recalc_rate()
45 struct vexpress_osc *osc = to_vexpress_osc(hw); in vexpress_osc_round_rate() local
47 if (WARN_ON(osc->rate_min && rate < osc->rate_min)) in vexpress_osc_round_rate()
48 rate = osc->rate_min; in vexpress_osc_round_rate()
50 if (WARN_ON(osc->rate_max && rate > osc->rate_max)) in vexpress_osc_round_rate()
51 rate = osc->rate_max; in vexpress_osc_round_rate()
59 struct vexpress_osc *osc = to_vexpress_osc(hw); in vexpress_osc_set_rate() local
61 return regmap_write(osc->reg, 0, rate); in vexpress_osc_set_rate()
74 struct vexpress_osc *osc; in vexpress_osc_probe() local
78 osc = devm_kzalloc(&pdev->dev, sizeof(*osc), GFP_KERNEL); in vexpress_osc_probe()
79 if (!osc) in vexpress_osc_probe()
82 osc->reg = devm_regmap_init_vexpress_config(&pdev->dev); in vexpress_osc_probe()
83 if (IS_ERR(osc->reg)) in vexpress_osc_probe()
84 return PTR_ERR(osc->reg); in vexpress_osc_probe()
88 osc->rate_min = range[0]; in vexpress_osc_probe()
89 osc->rate_max = range[1]; in vexpress_osc_probe()
100 osc->hw.init = &init; in vexpress_osc_probe()
102 clk = clk_register(NULL, &osc->hw); in vexpress_osc_probe()