.. | .. |
---|
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); |
---|