Lines Matching defs:sclk
103 static int scmi_clk_ops_init(struct device *dev, struct scmi_clk *sclk)
112 .name = sclk->info->name,
115 sclk->hw.init = &init;
116 ret = devm_clk_hw_register(dev, &sclk->hw);
120 if (sclk->info->rate_discrete) {
121 int num_rates = sclk->info->list.num_rates;
126 min_rate = sclk->info->list.rates[0];
127 max_rate = sclk->info->list.rates[num_rates - 1];
129 min_rate = sclk->info->range.min_rate;
130 max_rate = sclk->info->range.max_rate;
133 clk_hw_set_rate_range(&sclk->hw, min_rate, max_rate);
164 struct scmi_clk *sclk;
166 sclk = devm_kzalloc(dev, sizeof(*sclk), GFP_KERNEL);
167 if (!sclk)
170 sclk->info = handle->clk_ops->info_get(handle, idx);
171 if (!sclk->info) {
173 devm_kfree(dev, sclk);
177 sclk->id = idx;
178 sclk->handle = handle;
180 err = scmi_clk_ops_init(dev, sclk);
183 devm_kfree(dev, sclk);
186 dev_dbg(dev, "Registered clock:%s\n", sclk->info->name);
187 hws[idx] = &sclk->hw;