Lines Matching full:bc
303 struct imx95_blk_ctl *bc; in imx95_bc_probe() local
309 bc = devm_kzalloc(dev, sizeof(*bc), GFP_KERNEL); in imx95_bc_probe()
310 if (!bc) in imx95_bc_probe()
312 bc->dev = dev; in imx95_bc_probe()
313 dev_set_drvdata(&pdev->dev, bc); in imx95_bc_probe()
315 spin_lock_init(&bc->lock); in imx95_bc_probe()
321 bc->base = base; in imx95_bc_probe()
322 bc->clk_apb = devm_clk_get(dev, NULL); in imx95_bc_probe()
323 if (IS_ERR(bc->clk_apb)) in imx95_bc_probe()
324 return dev_err_probe(dev, PTR_ERR(bc->clk_apb), "failed to get APB clock\n"); in imx95_bc_probe()
326 ret = clk_prepare_enable(bc->clk_apb); in imx95_bc_probe()
355 data->flags2, &bc->lock); in imx95_bc_probe()
359 data->bit_width, data->flags2, &bc->lock); in imx95_bc_probe()
363 data->flags2, &bc->lock); in imx95_bc_probe()
382 if (pm_runtime_enabled(bc->dev)) in imx95_bc_probe()
383 clk_disable_unprepare(bc->clk_apb); in imx95_bc_probe()
403 struct imx95_blk_ctl *bc = dev_get_drvdata(dev); in imx95_bc_runtime_suspend() local
405 clk_disable_unprepare(bc->clk_apb); in imx95_bc_runtime_suspend()
411 struct imx95_blk_ctl *bc = dev_get_drvdata(dev); in imx95_bc_runtime_resume() local
413 return clk_prepare_enable(bc->clk_apb); in imx95_bc_runtime_resume()
420 struct imx95_blk_ctl *bc = dev_get_drvdata(dev); in imx95_bc_suspend() local
429 ret = pm_runtime_get_sync(bc->dev); in imx95_bc_suspend()
431 pm_runtime_put_noidle(bc->dev); in imx95_bc_suspend()
436 bc->clk_reg_restore = readl(bc->base + bc_data->clk_reg_offset); in imx95_bc_suspend()
443 struct imx95_blk_ctl *bc = dev_get_drvdata(dev); in imx95_bc_resume() local
450 writel(bc->clk_reg_restore, bc->base + bc_data->clk_reg_offset); in imx95_bc_resume()
453 pm_runtime_put(bc->dev); in imx95_bc_resume()