mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-02 23:27:06 +00:00
hwrng: bcm2835 - fix probe as platform device
[ Upstream commit984798de67
] BCM63XX (MIPS) does not use device tree, so there cannot be any of_device_id, causing the driver to fail on probe: [ 0.904564] bcm2835-rng: probe of bcm63xx-rng failed with error -22 Fix this by checking for match data only if we are probing from device tree. Fixes:8705f24f7b
("hwrng: bcm2835 - Enable BCM2835 RNG to work on BCM63xx platforms") Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com> Acked-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
3764bfae50
commit
25086ac92a
1 changed files with 9 additions and 7 deletions
|
@ -171,14 +171,16 @@ static int bcm2835_rng_probe(struct platform_device *pdev)
|
|||
priv->rng.read = bcm2835_rng_read;
|
||||
priv->rng.cleanup = bcm2835_rng_cleanup;
|
||||
|
||||
rng_id = of_match_node(bcm2835_rng_of_match, np);
|
||||
if (!rng_id)
|
||||
return -EINVAL;
|
||||
if (dev_of_node(dev)) {
|
||||
rng_id = of_match_node(bcm2835_rng_of_match, np);
|
||||
if (!rng_id)
|
||||
return -EINVAL;
|
||||
|
||||
/* Check for rng init function, execute it */
|
||||
of_data = rng_id->data;
|
||||
if (of_data)
|
||||
priv->mask_interrupts = of_data->mask_interrupts;
|
||||
/* Check for rng init function, execute it */
|
||||
of_data = rng_id->data;
|
||||
if (of_data)
|
||||
priv->mask_interrupts = of_data->mask_interrupts;
|
||||
}
|
||||
|
||||
/* register driver */
|
||||
err = devm_hwrng_register(dev, &priv->rng);
|
||||
|
|
Loading…
Reference in a new issue