.. | .. |
---|
181 | 181 | static int iproc_rng200_probe(struct platform_device *pdev) |
---|
182 | 182 | { |
---|
183 | 183 | struct iproc_rng200_dev *priv; |
---|
184 | | - struct resource *res; |
---|
185 | 184 | struct device *dev = &pdev->dev; |
---|
186 | 185 | int ret; |
---|
187 | 186 | |
---|
.. | .. |
---|
190 | 189 | return -ENOMEM; |
---|
191 | 190 | |
---|
192 | 191 | /* Map peripheral */ |
---|
193 | | - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); |
---|
194 | | - if (!res) { |
---|
195 | | - dev_err(dev, "failed to get rng resources\n"); |
---|
196 | | - return -EINVAL; |
---|
197 | | - } |
---|
198 | | - |
---|
199 | | - priv->base = devm_ioremap_resource(dev, res); |
---|
| 192 | + priv->base = devm_platform_ioremap_resource(pdev, 0); |
---|
200 | 193 | if (IS_ERR(priv->base)) { |
---|
201 | 194 | dev_err(dev, "failed to remap rng regs\n"); |
---|
202 | 195 | return PTR_ERR(priv->base); |
---|
203 | 196 | } |
---|
204 | 197 | |
---|
205 | | - priv->rng.name = "iproc-rng200", |
---|
206 | | - priv->rng.read = iproc_rng200_read, |
---|
207 | | - priv->rng.init = iproc_rng200_init, |
---|
208 | | - priv->rng.cleanup = iproc_rng200_cleanup, |
---|
| 198 | + priv->rng.name = "iproc-rng200"; |
---|
| 199 | + priv->rng.read = iproc_rng200_read; |
---|
| 200 | + priv->rng.init = iproc_rng200_init; |
---|
| 201 | + priv->rng.cleanup = iproc_rng200_cleanup; |
---|
209 | 202 | |
---|
210 | 203 | /* Register driver */ |
---|
211 | 204 | ret = devm_hwrng_register(dev, &priv->rng); |
---|
.. | .. |
---|
220 | 213 | } |
---|
221 | 214 | |
---|
222 | 215 | static const struct of_device_id iproc_rng200_of_match[] = { |
---|
| 216 | + { .compatible = "brcm,bcm2711-rng200", }, |
---|
| 217 | + { .compatible = "brcm,bcm7211-rng200", }, |
---|
223 | 218 | { .compatible = "brcm,bcm7278-rng200", }, |
---|
224 | 219 | { .compatible = "brcm,iproc-rng200", }, |
---|
225 | 220 | {}, |
---|