diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-23 15:59:10 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-23 15:59:10 -0700 |
commit | 0bd3fbd4abeafa19ae0302d25194468b022d1a56 (patch) | |
tree | 1fc34b25666c97b85dfb7199e48b2e074ffde264 /drivers/char/hw_random | |
parent | 0b87da68a0f0a7bf7f7446cf64f92e672bd68ef8 (diff) | |
parent | ef45b834319f8a18f257a40ba4bce6b829ef1708 (diff) | |
download | linux-0bd3fbd4abeafa19ae0302d25194468b022d1a56.tar.gz linux-0bd3fbd4abeafa19ae0302d25194468b022d1a56.tar.bz2 linux-0bd3fbd4abeafa19ae0302d25194468b022d1a56.zip |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Pull crypto updates from Herbert Xu:
- New cipher/hash driver for ARM ux500.
- Code clean-up for aesni-intel.
- Misc fixes.
Fixed up conflicts in arch/arm/mach-ux500/devices-common.h, where quite
frankly some of it made no sense at all (the pull brought in a
declaration for the dbx500_add_platform_device_noirq() function, which
neither exists nor is used anywhere).
Also some trivial add-add context conflicts in the Kconfig file in
drivers/{char/hw_random,crypto}/
* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
crypto: aesni-intel - move more common code to ablk_init_common
crypto: aesni-intel - use crypto_[un]register_algs
crypto: ux500 - Cleanup hardware identification
crypto: ux500 - Update DMA handling for 3.4
mach-ux500: crypto - core support for CRYP/HASH module.
crypto: ux500 - Add driver for HASH hardware
crypto: ux500 - Add driver for CRYP hardware
hwrng: Kconfig - modify default state for atmel-rng driver
hwrng: omap - use devm_request_and_ioremap
crypto: crypto4xx - move up err_request_irq label
crypto, xor: Sanitize checksumming function selection output
crypto: caam - add backward compatible string sec4.0
Diffstat (limited to 'drivers/char/hw_random')
-rw-r--r-- | drivers/char/hw_random/Kconfig | 2 | ||||
-rw-r--r-- | drivers/char/hw_random/omap-rng.c | 22 |
2 files changed, 3 insertions, 21 deletions
diff --git a/drivers/char/hw_random/Kconfig b/drivers/char/hw_random/Kconfig index c225314468ee..f45dad39a18b 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 && HAVE_CLK - 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. diff --git a/drivers/char/hw_random/omap-rng.c b/drivers/char/hw_random/omap-rng.c index a07a5caa599c..1412565c01af 100644 --- a/drivers/char/hw_random/omap-rng.c +++ b/drivers/char/hw_random/omap-rng.c @@ -115,22 +115,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) @@ -145,11 +135,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); @@ -159,20 +146,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; |