From 945478a7276407b1d435be39cde6bdaff72a7afa Mon Sep 17 00:00:00 2001 From: Julia Lawall Date: Thu, 19 Apr 2012 19:19:08 +0200 Subject: hwrng: omap - use devm_request_and_ioremap Using devm_request_and_ioremap is more concise. Signed-off-by: Julia Lawall Signed-off-by: Herbert Xu --- drivers/char/hw_random/omap-rng.c | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) (limited to 'drivers/char') diff --git a/drivers/char/hw_random/omap-rng.c b/drivers/char/hw_random/omap-rng.c index b757fac3cd1f..448ddb59438a 100644 --- a/drivers/char/hw_random/omap-rng.c +++ b/drivers/char/hw_random/omap-rng.c @@ -113,22 +113,12 @@ static int __devinit omap_rng_probe(struct platform_device *pdev) res = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (!res) { - ret = -ENOENT; - goto err_region; - } - - if (!request_mem_region(res->start, resource_size(res), pdev->name)) { - ret = -EBUSY; - goto err_region; - } - - dev_set_drvdata(&pdev->dev, res); - rng_base = ioremap(res->start, resource_size(res)); + rng_base = devm_request_and_ioremap(&pdev->dev, res); if (!rng_base) { ret = -ENOMEM; goto err_ioremap; } + dev_set_drvdata(&pdev->dev, res); ret = hwrng_register(&omap_rng_ops); if (ret) @@ -143,11 +133,8 @@ static int __devinit omap_rng_probe(struct platform_device *pdev) return 0; err_register: - iounmap(rng_base); rng_base = NULL; err_ioremap: - release_mem_region(res->start, resource_size(res)); -err_region: if (cpu_is_omap24xx()) { clk_disable(rng_ick); clk_put(rng_ick); @@ -157,20 +144,15 @@ err_region: static int __exit omap_rng_remove(struct platform_device *pdev) { - struct resource *res = dev_get_drvdata(&pdev->dev); - hwrng_unregister(&omap_rng_ops); omap_rng_write_reg(RNG_MASK_REG, 0x0); - iounmap(rng_base); - if (cpu_is_omap24xx()) { clk_disable(rng_ick); clk_put(rng_ick); } - release_mem_region(res->start, resource_size(res)); rng_base = NULL; return 0; -- cgit From 028fdd87b79a45544a2b6902989f2cbbf73a3eac Mon Sep 17 00:00:00 2001 From: Nicolas Ferre Date: Mon, 30 Apr 2012 20:00:35 +1000 Subject: hwrng: Kconfig - modify default state for atmel-rng driver In order to prevent building the Atmel hw_random driver for each and every configuration, add a "default" Kconfig state in relation with CONFIG_ARCH_AT91. Signed-off-by: Nicolas Ferre Reviewed-by: Mark Brown Signed-off-by: Herbert Xu --- drivers/char/hw_random/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'drivers/char') diff --git a/drivers/char/hw_random/Kconfig b/drivers/char/hw_random/Kconfig index 0689bf6b0183..8cd64f1d2797 100644 --- a/drivers/char/hw_random/Kconfig +++ b/drivers/char/hw_random/Kconfig @@ -63,7 +63,7 @@ config HW_RANDOM_AMD config HW_RANDOM_ATMEL tristate "Atmel Random Number Generator support" depends on HW_RANDOM && ARCH_AT91SAM9G45 - default HW_RANDOM + default (HW_RANDOM && ARCH_AT91) ---help--- This driver provides kernel-side support for the Random Number Generator hardware found on Atmel AT91 devices. -- cgit