Lines Matching refs:rkamp_dev

225 	struct rkamp_device *rkamp_dev = NULL;  in rockchip_amp_probe()  local
229 rkamp_dev = devm_kzalloc(&pdev->dev, sizeof(*rkamp_dev), GFP_KERNEL); in rockchip_amp_probe()
230 if (!rkamp_dev) in rockchip_amp_probe()
233 rkamp_dev->num_clks = devm_clk_bulk_get_all(&pdev->dev, &rkamp_dev->clks); in rockchip_amp_probe()
234 if (rkamp_dev->num_clks < 0) in rockchip_amp_probe()
236 ret = clk_bulk_prepare_enable(rkamp_dev->num_clks, rkamp_dev->clks); in rockchip_amp_probe()
242 rkamp_dev->num_pds = of_count_phandle_with_args(pdev->dev.of_node, "power-domains", in rockchip_amp_probe()
245 if (rkamp_dev->num_pds > 0) { in rockchip_amp_probe()
246 rkamp_dev->pd_dev = devm_kmalloc_array(&pdev->dev, rkamp_dev->num_pds, in rockchip_amp_probe()
247 sizeof(*rkamp_dev->pd_dev), GFP_KERNEL); in rockchip_amp_probe()
248 if (!rkamp_dev->pd_dev) in rockchip_amp_probe()
251 if (rkamp_dev->num_pds == 1) { in rockchip_amp_probe()
257 for (i = 0; i < rkamp_dev->num_pds; i++) { in rockchip_amp_probe()
258 rkamp_dev->pd_dev[i] = dev_pm_domain_attach_by_id(&pdev->dev, i); in rockchip_amp_probe()
259 ret = pm_runtime_resume_and_get(rkamp_dev->pd_dev[i]); in rockchip_amp_probe()
294 struct rkamp_device *rkamp_dev = platform_get_drvdata(pdev); in rockchip_amp_remove() local
296 clk_bulk_disable_unprepare(rkamp_dev->num_clks, rkamp_dev->clks); in rockchip_amp_remove()
298 if (rkamp_dev->num_pds == 1) { in rockchip_amp_remove()
300 } else if (rkamp_dev->num_pds > 1) { in rockchip_amp_remove()
301 for (i = 0; i < rkamp_dev->num_pds; i++) { in rockchip_amp_remove()
302 pm_runtime_put_sync(rkamp_dev->pd_dev[i]); in rockchip_amp_remove()
303 dev_pm_domain_detach(rkamp_dev->pd_dev[i], true); in rockchip_amp_remove()
304 rkamp_dev->pd_dev[i] = NULL; in rockchip_amp_remove()