| .. | .. |
|---|
| 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 | {}, |
|---|