| .. | .. |
|---|
| 109 | 109 | static int exynos_trng_probe(struct platform_device *pdev) |
|---|
| 110 | 110 | { |
|---|
| 111 | 111 | struct exynos_trng_dev *trng; |
|---|
| 112 | | - struct resource *res; |
|---|
| 113 | 112 | int ret = -ENOMEM; |
|---|
| 114 | 113 | |
|---|
| 115 | 114 | trng = devm_kzalloc(&pdev->dev, sizeof(*trng), GFP_KERNEL); |
|---|
| .. | .. |
|---|
| 128 | 127 | platform_set_drvdata(pdev, trng); |
|---|
| 129 | 128 | trng->dev = &pdev->dev; |
|---|
| 130 | 129 | |
|---|
| 131 | | - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); |
|---|
| 132 | | - trng->mem = devm_ioremap_resource(&pdev->dev, res); |
|---|
| 130 | + trng->mem = devm_platform_ioremap_resource(pdev, 0); |
|---|
| 133 | 131 | if (IS_ERR(trng->mem)) |
|---|
| 134 | 132 | return PTR_ERR(trng->mem); |
|---|
| 135 | 133 | |
|---|
| 136 | 134 | pm_runtime_enable(&pdev->dev); |
|---|
| 137 | | - ret = pm_runtime_get_sync(&pdev->dev); |
|---|
| 135 | + ret = pm_runtime_resume_and_get(&pdev->dev); |
|---|
| 138 | 136 | if (ret < 0) { |
|---|
| 139 | 137 | dev_err(&pdev->dev, "Could not get runtime PM.\n"); |
|---|
| 140 | 138 | goto err_pm_get; |
|---|
| .. | .. |
|---|
| 153 | 151 | goto err_clock; |
|---|
| 154 | 152 | } |
|---|
| 155 | 153 | |
|---|
| 156 | | - ret = hwrng_register(&trng->rng); |
|---|
| 154 | + ret = devm_hwrng_register(&pdev->dev, &trng->rng); |
|---|
| 157 | 155 | if (ret) { |
|---|
| 158 | 156 | dev_err(&pdev->dev, "Could not register hwrng device.\n"); |
|---|
| 159 | 157 | goto err_register; |
|---|
| .. | .. |
|---|
| 167 | 165 | clk_disable_unprepare(trng->clk); |
|---|
| 168 | 166 | |
|---|
| 169 | 167 | err_clock: |
|---|
| 170 | | - pm_runtime_put_sync(&pdev->dev); |
|---|
| 168 | + pm_runtime_put_noidle(&pdev->dev); |
|---|
| 171 | 169 | |
|---|
| 172 | 170 | err_pm_get: |
|---|
| 173 | 171 | pm_runtime_disable(&pdev->dev); |
|---|
| .. | .. |
|---|
| 179 | 177 | { |
|---|
| 180 | 178 | struct exynos_trng_dev *trng = platform_get_drvdata(pdev); |
|---|
| 181 | 179 | |
|---|
| 182 | | - hwrng_unregister(&trng->rng); |
|---|
| 183 | 180 | clk_disable_unprepare(trng->clk); |
|---|
| 184 | 181 | |
|---|
| 185 | 182 | pm_runtime_put_sync(&pdev->dev); |
|---|