Lines Matching refs:cinfo
55 struct palmas_clock_info *cinfo = to_palmas_clks_info(hw); in palmas_clks_prepare() local
58 ret = palmas_update_bits(cinfo->palmas, PALMAS_RESOURCE_BASE, in palmas_clks_prepare()
59 cinfo->clk_desc->control_reg, in palmas_clks_prepare()
60 cinfo->clk_desc->enable_mask, in palmas_clks_prepare()
61 cinfo->clk_desc->enable_mask); in palmas_clks_prepare()
63 dev_err(cinfo->dev, "Reg 0x%02x update failed, %d\n", in palmas_clks_prepare()
64 cinfo->clk_desc->control_reg, ret); in palmas_clks_prepare()
65 else if (cinfo->clk_desc->delay) in palmas_clks_prepare()
66 udelay(cinfo->clk_desc->delay); in palmas_clks_prepare()
73 struct palmas_clock_info *cinfo = to_palmas_clks_info(hw); in palmas_clks_unprepare() local
80 if (cinfo->ext_control_pin) in palmas_clks_unprepare()
83 ret = palmas_update_bits(cinfo->palmas, PALMAS_RESOURCE_BASE, in palmas_clks_unprepare()
84 cinfo->clk_desc->control_reg, in palmas_clks_unprepare()
85 cinfo->clk_desc->enable_mask, 0); in palmas_clks_unprepare()
87 dev_err(cinfo->dev, "Reg 0x%02x update failed, %d\n", in palmas_clks_unprepare()
88 cinfo->clk_desc->control_reg, ret); in palmas_clks_unprepare()
93 struct palmas_clock_info *cinfo = to_palmas_clks_info(hw); in palmas_clks_is_prepared() local
97 if (cinfo->ext_control_pin) in palmas_clks_is_prepared()
100 ret = palmas_read(cinfo->palmas, PALMAS_RESOURCE_BASE, in palmas_clks_is_prepared()
101 cinfo->clk_desc->control_reg, &val); in palmas_clks_is_prepared()
103 dev_err(cinfo->dev, "Reg 0x%02x read failed, %d\n", in palmas_clks_is_prepared()
104 cinfo->clk_desc->control_reg, ret); in palmas_clks_is_prepared()
107 return !!(val & cinfo->clk_desc->enable_mask); in palmas_clks_is_prepared()
168 struct palmas_clock_info *cinfo) in palmas_clks_get_clk_data() argument
195 cinfo->ext_control_pin = prop; in palmas_clks_get_clk_data()
198 static int palmas_clks_init_configure(struct palmas_clock_info *cinfo) in palmas_clks_init_configure() argument
202 ret = palmas_update_bits(cinfo->palmas, PALMAS_RESOURCE_BASE, in palmas_clks_init_configure()
203 cinfo->clk_desc->control_reg, in palmas_clks_init_configure()
204 cinfo->clk_desc->sleep_mask, 0); in palmas_clks_init_configure()
206 dev_err(cinfo->dev, "Reg 0x%02x update failed, %d\n", in palmas_clks_init_configure()
207 cinfo->clk_desc->control_reg, ret); in palmas_clks_init_configure()
211 if (cinfo->ext_control_pin) { in palmas_clks_init_configure()
212 ret = clk_prepare(cinfo->hw.clk); in palmas_clks_init_configure()
214 dev_err(cinfo->dev, "Clock prep failed, %d\n", ret); in palmas_clks_init_configure()
218 ret = palmas_ext_control_req_config(cinfo->palmas, in palmas_clks_init_configure()
219 cinfo->clk_desc->sleep_reqstr_id, in palmas_clks_init_configure()
220 cinfo->ext_control_pin, true); in palmas_clks_init_configure()
222 dev_err(cinfo->dev, "Ext config for %s failed, %d\n", in palmas_clks_init_configure()
223 cinfo->clk_desc->clk_name, ret); in palmas_clks_init_configure()
224 clk_unprepare(cinfo->hw.clk); in palmas_clks_init_configure()
236 struct palmas_clock_info *cinfo; in palmas_clks_probe() local
243 cinfo = devm_kzalloc(&pdev->dev, sizeof(*cinfo), GFP_KERNEL); in palmas_clks_probe()
244 if (!cinfo) in palmas_clks_probe()
247 palmas_clks_get_clk_data(pdev, cinfo); in palmas_clks_probe()
248 platform_set_drvdata(pdev, cinfo); in palmas_clks_probe()
250 cinfo->dev = &pdev->dev; in palmas_clks_probe()
251 cinfo->palmas = palmas; in palmas_clks_probe()
253 cinfo->clk_desc = &match_data->desc; in palmas_clks_probe()
254 cinfo->hw.init = &match_data->init; in palmas_clks_probe()
255 ret = devm_clk_hw_register(&pdev->dev, &cinfo->hw); in palmas_clks_probe()
262 ret = palmas_clks_init_configure(cinfo); in palmas_clks_probe()
268 ret = of_clk_add_hw_provider(node, of_clk_hw_simple_get, &cinfo->hw); in palmas_clks_probe()