Lines Matching refs:cinfo
64 struct palmas_clock_info *cinfo = to_palmas_clks_info(hw); in palmas_clks_prepare() local
67 ret = palmas_update_bits(cinfo->palmas, PALMAS_RESOURCE_BASE, in palmas_clks_prepare()
68 cinfo->clk_desc->control_reg, in palmas_clks_prepare()
69 cinfo->clk_desc->enable_mask, in palmas_clks_prepare()
70 cinfo->clk_desc->enable_mask); in palmas_clks_prepare()
72 dev_err(cinfo->dev, "Reg 0x%02x update failed, %d\n", in palmas_clks_prepare()
73 cinfo->clk_desc->control_reg, ret); in palmas_clks_prepare()
74 else if (cinfo->clk_desc->delay) in palmas_clks_prepare()
75 udelay(cinfo->clk_desc->delay); in palmas_clks_prepare()
82 struct palmas_clock_info *cinfo = to_palmas_clks_info(hw); in palmas_clks_unprepare() local
89 if (cinfo->ext_control_pin) in palmas_clks_unprepare()
92 ret = palmas_update_bits(cinfo->palmas, PALMAS_RESOURCE_BASE, in palmas_clks_unprepare()
93 cinfo->clk_desc->control_reg, in palmas_clks_unprepare()
94 cinfo->clk_desc->enable_mask, 0); in palmas_clks_unprepare()
96 dev_err(cinfo->dev, "Reg 0x%02x update failed, %d\n", in palmas_clks_unprepare()
97 cinfo->clk_desc->control_reg, ret); in palmas_clks_unprepare()
102 struct palmas_clock_info *cinfo = to_palmas_clks_info(hw); in palmas_clks_is_prepared() local
106 if (cinfo->ext_control_pin) in palmas_clks_is_prepared()
109 ret = palmas_read(cinfo->palmas, PALMAS_RESOURCE_BASE, in palmas_clks_is_prepared()
110 cinfo->clk_desc->control_reg, &val); in palmas_clks_is_prepared()
112 dev_err(cinfo->dev, "Reg 0x%02x read failed, %d\n", in palmas_clks_is_prepared()
113 cinfo->clk_desc->control_reg, ret); in palmas_clks_is_prepared()
116 return !!(val & cinfo->clk_desc->enable_mask); in palmas_clks_is_prepared()
177 struct palmas_clock_info *cinfo) in palmas_clks_get_clk_data() argument
204 cinfo->ext_control_pin = prop; in palmas_clks_get_clk_data()
207 static int palmas_clks_init_configure(struct palmas_clock_info *cinfo) in palmas_clks_init_configure() argument
211 ret = palmas_update_bits(cinfo->palmas, PALMAS_RESOURCE_BASE, in palmas_clks_init_configure()
212 cinfo->clk_desc->control_reg, in palmas_clks_init_configure()
213 cinfo->clk_desc->sleep_mask, 0); in palmas_clks_init_configure()
215 dev_err(cinfo->dev, "Reg 0x%02x update failed, %d\n", in palmas_clks_init_configure()
216 cinfo->clk_desc->control_reg, ret); in palmas_clks_init_configure()
220 if (cinfo->ext_control_pin) { in palmas_clks_init_configure()
221 ret = clk_prepare(cinfo->clk); in palmas_clks_init_configure()
223 dev_err(cinfo->dev, "Clock prep failed, %d\n", ret); in palmas_clks_init_configure()
227 ret = palmas_ext_control_req_config(cinfo->palmas, in palmas_clks_init_configure()
228 cinfo->clk_desc->sleep_reqstr_id, in palmas_clks_init_configure()
229 cinfo->ext_control_pin, true); in palmas_clks_init_configure()
231 dev_err(cinfo->dev, "Ext config for %s failed, %d\n", in palmas_clks_init_configure()
232 cinfo->clk_desc->clk_name, ret); in palmas_clks_init_configure()
245 struct palmas_clock_info *cinfo; in palmas_clks_probe() local
252 cinfo = devm_kzalloc(&pdev->dev, sizeof(*cinfo), GFP_KERNEL); in palmas_clks_probe()
253 if (!cinfo) in palmas_clks_probe()
256 palmas_clks_get_clk_data(pdev, cinfo); in palmas_clks_probe()
257 platform_set_drvdata(pdev, cinfo); in palmas_clks_probe()
259 cinfo->dev = &pdev->dev; in palmas_clks_probe()
260 cinfo->palmas = palmas; in palmas_clks_probe()
262 cinfo->clk_desc = &match_data->desc; in palmas_clks_probe()
263 cinfo->hw.init = &match_data->init; in palmas_clks_probe()
264 clk = devm_clk_register(&pdev->dev, &cinfo->hw); in palmas_clks_probe()
272 cinfo->clk = clk; in palmas_clks_probe()
273 ret = palmas_clks_init_configure(cinfo); in palmas_clks_probe()
279 ret = of_clk_add_provider(node, of_clk_src_simple_get, cinfo->clk); in palmas_clks_probe()