Lines Matching refs:pdev

265 static int tegra20_spdif_platform_probe(struct platform_device *pdev)  in tegra20_spdif_platform_probe()  argument
272 spdif = devm_kzalloc(&pdev->dev, sizeof(struct tegra20_spdif), in tegra20_spdif_platform_probe()
275 dev_err(&pdev->dev, "Can't allocate tegra20_spdif\n"); in tegra20_spdif_platform_probe()
278 dev_set_drvdata(&pdev->dev, spdif); in tegra20_spdif_platform_probe()
280 spdif->clk_spdif_out = devm_clk_get(&pdev->dev, "spdif_out"); in tegra20_spdif_platform_probe()
287 mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); in tegra20_spdif_platform_probe()
288 regs = devm_ioremap_resource(&pdev->dev, mem); in tegra20_spdif_platform_probe()
292 dmareq = platform_get_resource(pdev, IORESOURCE_DMA, 0); in tegra20_spdif_platform_probe()
294 dev_err(&pdev->dev, "No DMA resource\n"); in tegra20_spdif_platform_probe()
298 spdif->regmap = devm_regmap_init_mmio(&pdev->dev, regs, in tegra20_spdif_platform_probe()
301 dev_err(&pdev->dev, "regmap init failed\n"); in tegra20_spdif_platform_probe()
311 pm_runtime_enable(&pdev->dev); in tegra20_spdif_platform_probe()
312 if (!pm_runtime_enabled(&pdev->dev)) { in tegra20_spdif_platform_probe()
313 ret = tegra20_spdif_runtime_resume(&pdev->dev); in tegra20_spdif_platform_probe()
318 ret = snd_soc_register_component(&pdev->dev, &tegra20_spdif_component, in tegra20_spdif_platform_probe()
321 dev_err(&pdev->dev, "Could not register DAI: %d\n", ret); in tegra20_spdif_platform_probe()
326 ret = tegra_pcm_platform_register(&pdev->dev); in tegra20_spdif_platform_probe()
328 dev_err(&pdev->dev, "Could not register PCM: %d\n", ret); in tegra20_spdif_platform_probe()
335 snd_soc_unregister_component(&pdev->dev); in tegra20_spdif_platform_probe()
337 if (!pm_runtime_status_suspended(&pdev->dev)) in tegra20_spdif_platform_probe()
338 tegra20_spdif_runtime_suspend(&pdev->dev); in tegra20_spdif_platform_probe()
340 pm_runtime_disable(&pdev->dev); in tegra20_spdif_platform_probe()
345 static int tegra20_spdif_platform_remove(struct platform_device *pdev) in tegra20_spdif_platform_remove() argument
347 pm_runtime_disable(&pdev->dev); in tegra20_spdif_platform_remove()
348 if (!pm_runtime_status_suspended(&pdev->dev)) in tegra20_spdif_platform_remove()
349 tegra20_spdif_runtime_suspend(&pdev->dev); in tegra20_spdif_platform_remove()
351 tegra_pcm_platform_unregister(&pdev->dev); in tegra20_spdif_platform_remove()
352 snd_soc_unregister_component(&pdev->dev); in tegra20_spdif_platform_remove()