Lines Matching refs:cinfo
65 struct palmas_clock_info *cinfo = to_palmas_clks_info(hw); in palmas_clks_prepare() local
68 ret = palmas_update_bits(cinfo->palmas, PALMAS_RESOURCE_BASE, in palmas_clks_prepare()
69 cinfo->clk_desc->control_reg, in palmas_clks_prepare()
70 cinfo->clk_desc->enable_mask, in palmas_clks_prepare()
71 cinfo->clk_desc->enable_mask); in palmas_clks_prepare()
73 dev_err(cinfo->dev, "Reg 0x%02x update failed, %d\n", in palmas_clks_prepare()
74 cinfo->clk_desc->control_reg, ret); in palmas_clks_prepare()
75 else if (cinfo->clk_desc->delay) in palmas_clks_prepare()
76 udelay(cinfo->clk_desc->delay); in palmas_clks_prepare()
83 struct palmas_clock_info *cinfo = to_palmas_clks_info(hw); in palmas_clks_unprepare() local
90 if (cinfo->ext_control_pin) in palmas_clks_unprepare()
93 ret = palmas_update_bits(cinfo->palmas, PALMAS_RESOURCE_BASE, in palmas_clks_unprepare()
94 cinfo->clk_desc->control_reg, in palmas_clks_unprepare()
95 cinfo->clk_desc->enable_mask, 0); in palmas_clks_unprepare()
97 dev_err(cinfo->dev, "Reg 0x%02x update failed, %d\n", in palmas_clks_unprepare()
98 cinfo->clk_desc->control_reg, ret); in palmas_clks_unprepare()
103 struct palmas_clock_info *cinfo = to_palmas_clks_info(hw); in palmas_clks_is_prepared() local
107 if (cinfo->ext_control_pin) in palmas_clks_is_prepared()
110 ret = palmas_read(cinfo->palmas, PALMAS_RESOURCE_BASE, in palmas_clks_is_prepared()
111 cinfo->clk_desc->control_reg, &val); in palmas_clks_is_prepared()
113 dev_err(cinfo->dev, "Reg 0x%02x read failed, %d\n", in palmas_clks_is_prepared()
114 cinfo->clk_desc->control_reg, ret); in palmas_clks_is_prepared()
117 return !!(val & cinfo->clk_desc->enable_mask); in palmas_clks_is_prepared()
178 struct palmas_clock_info *cinfo) in palmas_clks_get_clk_data() argument
205 cinfo->ext_control_pin = prop; in palmas_clks_get_clk_data()
208 static int palmas_clks_init_configure(struct palmas_clock_info *cinfo) in palmas_clks_init_configure() argument
212 ret = palmas_update_bits(cinfo->palmas, PALMAS_RESOURCE_BASE, in palmas_clks_init_configure()
213 cinfo->clk_desc->control_reg, in palmas_clks_init_configure()
214 cinfo->clk_desc->sleep_mask, 0); in palmas_clks_init_configure()
216 dev_err(cinfo->dev, "Reg 0x%02x update failed, %d\n", in palmas_clks_init_configure()
217 cinfo->clk_desc->control_reg, ret); in palmas_clks_init_configure()
221 if (cinfo->ext_control_pin) { in palmas_clks_init_configure()
222 ret = clk_prepare(cinfo->clk); in palmas_clks_init_configure()
224 dev_err(cinfo->dev, "Clock prep failed, %d\n", ret); in palmas_clks_init_configure()
228 ret = palmas_ext_control_req_config(cinfo->palmas, in palmas_clks_init_configure()
229 cinfo->clk_desc->sleep_reqstr_id, in palmas_clks_init_configure()
230 cinfo->ext_control_pin, true); in palmas_clks_init_configure()
232 dev_err(cinfo->dev, "Ext config for %s failed, %d\n", in palmas_clks_init_configure()
233 cinfo->clk_desc->clk_name, ret); in palmas_clks_init_configure()
246 struct palmas_clock_info *cinfo; in palmas_clks_probe() local
253 cinfo = devm_kzalloc(&pdev->dev, sizeof(*cinfo), GFP_KERNEL); in palmas_clks_probe()
254 if (!cinfo) in palmas_clks_probe()
257 palmas_clks_get_clk_data(pdev, cinfo); in palmas_clks_probe()
258 platform_set_drvdata(pdev, cinfo); in palmas_clks_probe()
260 cinfo->dev = &pdev->dev; in palmas_clks_probe()
261 cinfo->palmas = palmas; in palmas_clks_probe()
263 cinfo->clk_desc = &match_data->desc; in palmas_clks_probe()
264 cinfo->hw.init = &match_data->init; in palmas_clks_probe()
265 clk = devm_clk_register(&pdev->dev, &cinfo->hw); in palmas_clks_probe()
273 cinfo->clk = clk; in palmas_clks_probe()
274 ret = palmas_clks_init_configure(cinfo); in palmas_clks_probe()
280 ret = of_clk_add_provider(node, of_clk_src_simple_get, cinfo->clk); in palmas_clks_probe()