Lines Matching refs:pdev
275 static int rk_spdif_probe(struct platform_device *pdev) in rk_spdif_probe() argument
277 struct device_node *np = pdev->dev.of_node; in rk_spdif_probe()
290 dev_err(&pdev->dev, in rk_spdif_probe()
301 spdif = devm_kzalloc(&pdev->dev, sizeof(*spdif), GFP_KERNEL); in rk_spdif_probe()
305 spdif->hclk = devm_clk_get(&pdev->dev, "hclk"); in rk_spdif_probe()
307 dev_err(&pdev->dev, "Can't retrieve rk_spdif bus clock\n"); in rk_spdif_probe()
316 spdif->mclk = devm_clk_get(&pdev->dev, "mclk"); in rk_spdif_probe()
318 dev_err(&pdev->dev, "Can't retrieve rk_spdif master clock\n"); in rk_spdif_probe()
328 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); in rk_spdif_probe()
329 regs = devm_ioremap_resource(&pdev->dev, res); in rk_spdif_probe()
333 spdif->regmap = devm_regmap_init_mmio_clk(&pdev->dev, "hclk", regs, in rk_spdif_probe()
336 dev_err(&pdev->dev, in rk_spdif_probe()
345 spdif->dev = &pdev->dev; in rk_spdif_probe()
346 dev_set_drvdata(&pdev->dev, spdif); in rk_spdif_probe()
348 pm_runtime_set_active(&pdev->dev); in rk_spdif_probe()
349 pm_runtime_enable(&pdev->dev); in rk_spdif_probe()
350 pm_request_idle(&pdev->dev); in rk_spdif_probe()
352 ret = devm_snd_soc_register_component(&pdev->dev, in rk_spdif_probe()
356 dev_err(&pdev->dev, "Could not register DAI\n"); in rk_spdif_probe()
360 ret = devm_snd_dmaengine_pcm_register(&pdev->dev, NULL, 0); in rk_spdif_probe()
362 dev_err(&pdev->dev, "Could not register PCM\n"); in rk_spdif_probe()
369 pm_runtime_disable(&pdev->dev); in rk_spdif_probe()
374 static int rk_spdif_remove(struct platform_device *pdev) in rk_spdif_remove() argument
376 struct rk_spdif_dev *spdif = dev_get_drvdata(&pdev->dev); in rk_spdif_remove()
378 pm_runtime_disable(&pdev->dev); in rk_spdif_remove()
379 if (!pm_runtime_status_suspended(&pdev->dev)) in rk_spdif_remove()
380 rk_spdif_runtime_suspend(&pdev->dev); in rk_spdif_remove()