Lines Matching refs:pdev
302 static int tegra20_ac97_platform_probe(struct platform_device *pdev) in tegra20_ac97_platform_probe() argument
309 ac97 = devm_kzalloc(&pdev->dev, sizeof(struct tegra20_ac97), in tegra20_ac97_platform_probe()
315 dev_set_drvdata(&pdev->dev, ac97); in tegra20_ac97_platform_probe()
317 ac97->reset = devm_reset_control_get_exclusive(&pdev->dev, "ac97"); in tegra20_ac97_platform_probe()
319 dev_err(&pdev->dev, "Can't retrieve ac97 reset\n"); in tegra20_ac97_platform_probe()
323 ac97->clk_ac97 = devm_clk_get(&pdev->dev, NULL); in tegra20_ac97_platform_probe()
325 dev_err(&pdev->dev, "Can't retrieve ac97 clock\n"); in tegra20_ac97_platform_probe()
330 mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); in tegra20_ac97_platform_probe()
331 regs = devm_ioremap_resource(&pdev->dev, mem); in tegra20_ac97_platform_probe()
337 ac97->regmap = devm_regmap_init_mmio(&pdev->dev, regs, in tegra20_ac97_platform_probe()
340 dev_err(&pdev->dev, "regmap init failed\n"); in tegra20_ac97_platform_probe()
345 ac97->reset_gpio = of_get_named_gpio(pdev->dev.of_node, in tegra20_ac97_platform_probe()
348 ret = devm_gpio_request_one(&pdev->dev, ac97->reset_gpio, in tegra20_ac97_platform_probe()
351 dev_err(&pdev->dev, "could not get codec-reset GPIO\n"); in tegra20_ac97_platform_probe()
355 dev_err(&pdev->dev, "no codec-reset GPIO supplied\n"); in tegra20_ac97_platform_probe()
359 ac97->sync_gpio = of_get_named_gpio(pdev->dev.of_node, in tegra20_ac97_platform_probe()
362 dev_err(&pdev->dev, "no codec-sync GPIO supplied\n"); in tegra20_ac97_platform_probe()
376 dev_err(&pdev->dev, "Failed to assert AC'97 reset: %d\n", ret); in tegra20_ac97_platform_probe()
382 dev_err(&pdev->dev, "clk_enable failed: %d\n", ret); in tegra20_ac97_platform_probe()
390 dev_err(&pdev->dev, "Failed to deassert AC'97 reset: %d\n", ret); in tegra20_ac97_platform_probe()
396 dev_err(&pdev->dev, "Failed to set AC'97 ops: %d\n", ret); in tegra20_ac97_platform_probe()
400 ret = snd_soc_register_component(&pdev->dev, &tegra20_ac97_component, in tegra20_ac97_platform_probe()
403 dev_err(&pdev->dev, "Could not register DAI: %d\n", ret); in tegra20_ac97_platform_probe()
408 ret = tegra_pcm_platform_register(&pdev->dev); in tegra20_ac97_platform_probe()
410 dev_err(&pdev->dev, "Could not register PCM: %d\n", ret); in tegra20_ac97_platform_probe()
420 snd_soc_unregister_component(&pdev->dev); in tegra20_ac97_platform_probe()
429 static int tegra20_ac97_platform_remove(struct platform_device *pdev) in tegra20_ac97_platform_remove() argument
431 struct tegra20_ac97 *ac97 = dev_get_drvdata(&pdev->dev); in tegra20_ac97_platform_remove()
433 tegra_pcm_platform_unregister(&pdev->dev); in tegra20_ac97_platform_remove()
434 snd_soc_unregister_component(&pdev->dev); in tegra20_ac97_platform_remove()