Lines Matching refs:pdev
109 static int exynos_trng_probe(struct platform_device *pdev)
114 trng = devm_kzalloc(&pdev->dev, sizeof(*trng), GFP_KERNEL);
118 trng->rng.name = devm_kstrdup(&pdev->dev, dev_name(&pdev->dev),
127 platform_set_drvdata(pdev, trng);
128 trng->dev = &pdev->dev;
130 trng->mem = devm_platform_ioremap_resource(pdev, 0);
134 pm_runtime_enable(&pdev->dev);
135 ret = pm_runtime_resume_and_get(&pdev->dev);
137 dev_err(&pdev->dev, "Could not get runtime PM.\n");
141 trng->clk = devm_clk_get(&pdev->dev, "secss");
144 dev_err(&pdev->dev, "Could not get clock.\n");
150 dev_err(&pdev->dev, "Could not enable the clk.\n");
154 ret = devm_hwrng_register(&pdev->dev, &trng->rng);
156 dev_err(&pdev->dev, "Could not register hwrng device.\n");
160 dev_info(&pdev->dev, "Exynos True Random Number Generator.\n");
168 pm_runtime_put_noidle(&pdev->dev);
171 pm_runtime_disable(&pdev->dev);
176 static void exynos_trng_remove(struct platform_device *pdev)
178 struct exynos_trng_dev *trng = platform_get_drvdata(pdev);
182 pm_runtime_put_sync(&pdev->dev);
183 pm_runtime_disable(&pdev->dev);