hwrng: pasemi - Migrate to managed API
Use devm_ioremap and devm_hwrng_register instead of ioremap and hwrng_register. This removes unregistering and error handling code. Changes in v2: Remove hardcoded resource size in ioremap, use resource struct obtained by calling platform_get_resource. Removing hardcoded resource size was suggested by LABBE Corentin. CC: Darren Stevens <darren@stevens-zone.net> Suggested-by: LABBE Corentin <clabbe.montjoie@gmail.com> Signed-off-by: PrasannaKumar Muralidharan <prasannatsmkumar@gmail.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
b4587456fe
commit
da28caaaf8
|
@ -95,42 +95,20 @@ static struct hwrng pasemi_rng = {
|
|||
.data_read = pasemi_rng_data_read,
|
||||
};
|
||||
|
||||
static int rng_probe(struct platform_device *ofdev)
|
||||
static int rng_probe(struct platform_device *pdev)
|
||||
{
|
||||
void __iomem *rng_regs;
|
||||
struct device_node *rng_np = ofdev->dev.of_node;
|
||||
struct resource res;
|
||||
int err = 0;
|
||||
struct resource *res;
|
||||
|
||||
err = of_address_to_resource(rng_np, 0, &res);
|
||||
if (err)
|
||||
return -ENODEV;
|
||||
|
||||
rng_regs = ioremap(res.start, 0x100);
|
||||
|
||||
if (!rng_regs)
|
||||
return -ENOMEM;
|
||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
rng_regs = devm_ioremap_resource(&pdev->dev, res);
|
||||
if (IS_ERR(rng_regs))
|
||||
return PTR_ERR(rng_regs);
|
||||
|
||||
pasemi_rng.priv = (unsigned long)rng_regs;
|
||||
|
||||
pr_info("Registering PA Semi RNG\n");
|
||||
|
||||
err = hwrng_register(&pasemi_rng);
|
||||
|
||||
if (err)
|
||||
iounmap(rng_regs);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
static int rng_remove(struct platform_device *dev)
|
||||
{
|
||||
void __iomem *rng_regs = (void __iomem *)pasemi_rng.priv;
|
||||
|
||||
hwrng_unregister(&pasemi_rng);
|
||||
iounmap(rng_regs);
|
||||
|
||||
return 0;
|
||||
return devm_hwrng_register(&pdev->dev, &pasemi_rng);
|
||||
}
|
||||
|
||||
static const struct of_device_id rng_match[] = {
|
||||
|
@ -146,7 +124,6 @@ static struct platform_driver rng_driver = {
|
|||
.of_match_table = rng_match,
|
||||
},
|
||||
.probe = rng_probe,
|
||||
.remove = rng_remove,
|
||||
};
|
||||
|
||||
module_platform_driver(rng_driver);
|
||||
|
|
Loading…
Reference in New Issue