Lines Matching refs:cinfo
63 struct palmas_clock_info *cinfo = to_palmas_clks_info(hw);
66 ret = palmas_update_bits(cinfo->palmas, PALMAS_RESOURCE_BASE,
67 cinfo->clk_desc->control_reg,
68 cinfo->clk_desc->enable_mask,
69 cinfo->clk_desc->enable_mask);
71 dev_err(cinfo->dev, "Reg 0x%02x update failed, %d\n",
72 cinfo->clk_desc->control_reg, ret);
73 else if (cinfo->clk_desc->delay)
74 udelay(cinfo->clk_desc->delay);
81 struct palmas_clock_info *cinfo = to_palmas_clks_info(hw);
88 if (cinfo->ext_control_pin)
91 ret = palmas_update_bits(cinfo->palmas, PALMAS_RESOURCE_BASE,
92 cinfo->clk_desc->control_reg,
93 cinfo->clk_desc->enable_mask, 0);
95 dev_err(cinfo->dev, "Reg 0x%02x update failed, %d\n",
96 cinfo->clk_desc->control_reg, ret);
101 struct palmas_clock_info *cinfo = to_palmas_clks_info(hw);
105 if (cinfo->ext_control_pin)
108 ret = palmas_read(cinfo->palmas, PALMAS_RESOURCE_BASE,
109 cinfo->clk_desc->control_reg, &val);
111 dev_err(cinfo->dev, "Reg 0x%02x read failed, %d\n",
112 cinfo->clk_desc->control_reg, ret);
115 return !!(val & cinfo->clk_desc->enable_mask);
176 struct palmas_clock_info *cinfo)
203 cinfo->ext_control_pin = prop;
206 static int palmas_clks_init_configure(struct palmas_clock_info *cinfo)
210 ret = palmas_update_bits(cinfo->palmas, PALMAS_RESOURCE_BASE,
211 cinfo->clk_desc->control_reg,
212 cinfo->clk_desc->sleep_mask, 0);
214 dev_err(cinfo->dev, "Reg 0x%02x update failed, %d\n",
215 cinfo->clk_desc->control_reg, ret);
219 if (cinfo->ext_control_pin) {
220 ret = clk_prepare(cinfo->hw.clk);
222 dev_err(cinfo->dev, "Clock prep failed, %d\n", ret);
226 ret = palmas_ext_control_req_config(cinfo->palmas,
227 cinfo->clk_desc->sleep_reqstr_id,
228 cinfo->ext_control_pin, true);
230 dev_err(cinfo->dev, "Ext config for %s failed, %d\n",
231 cinfo->clk_desc->clk_name, ret);
232 clk_unprepare(cinfo->hw.clk);
244 struct palmas_clock_info *cinfo;
251 cinfo = devm_kzalloc(&pdev->dev, sizeof(*cinfo), GFP_KERNEL);
252 if (!cinfo)
255 palmas_clks_get_clk_data(pdev, cinfo);
256 platform_set_drvdata(pdev, cinfo);
258 cinfo->dev = &pdev->dev;
259 cinfo->palmas = palmas;
261 cinfo->clk_desc = &match_data->desc;
262 cinfo->hw.init = &match_data->init;
263 ret = devm_clk_hw_register(&pdev->dev, &cinfo->hw);
270 ret = palmas_clks_init_configure(cinfo);
276 ret = of_clk_add_hw_provider(node, of_clk_hw_simple_get, &cinfo->hw);