aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/hw_random/omap-rng.c
Commit message (Collapse)AuthorAgeFilesLines
* hwrng: OMAP: remove SoC restrictions from driver registrationPaul Walmsley2012-09-231-3/+0
| | | | | | | | | | | | | | | Remove the SoC restriction code from the OMAP RNG driver. The integration code in arch/arm/*omap* should handle this. The device shouldn't be created if it doesn't exist on the currently-booted SoC. This allows us to remove some OMAP-specific cpu_is_omap*() calls from the driver. Also, if other OMAP chips have RNGs that can be used by Linux, there will be no need to modify the driver. Signed-off-by: Paul Walmsley <paul@pwsan.com> Cc: Matt Mackall <mpm@selenic.com> Cc: Herbert Xu <herbert@gondor.apana.org.au> Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
* hwrng: OMAP: convert to use runtime PMPaul Walmsley2012-09-231-26/+9
| | | | | | | | | | | | Convert the OMAP onboard hardware RNG driver to use runtime PM. This allows us to remove some OMAP-specific cpu_is_omap*() calls from the RNG driver. Signed-off-by: Paul Walmsley <paul@pwsan.com> Cc: Matt Mackall <mpm@selenic.com> Cc: Herbert Xu <herbert@gondor.apana.org.au> Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
* hwrng: OMAP: store per-device data in per-device variables, not file staticsPaul Walmsley2012-09-231-38/+77
| | | | | | | | | | Encapsulate all of the RNG per-device state into a single per-device structure record, as opposed to a set of per-driver file variables. Signed-off-by: Paul Walmsley <paul@pwsan.com> Cc: Matt Mackall <mpm@selenic.com> Cc: Herbert Xu <herbert@gondor.apana.org.au> Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
* omap-rng: fix use of SIMPLE_DEV_PM_OPSArnd Bergmann2012-08-101-1/+1
| | | | | | | | | | | | | | | | | omap_rng_suspend and omap_rng_resume are unused if CONFIG_PM is enabled but CONFIG_PM_SLEEP is disabled. I found this while building all defconfig files on ARM. It's not clear to me if this is the right solution, but at least it makes the code consistent again. Without this patch, building omap1_defconfig results in: drivers/char/hw_random/omap-rng.c:165:12: warning: 'omap_rng_suspend' defined but not used [-Wunused-function] drivers/char/hw_random/omap-rng.c:171:12: warning: 'omap_rng_resume' defined but not used [-Wunused-function] Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Kevin Hilman <khilman@ti.com> Cc: Rafael J. Wysocki <rjw@sisk.pl> Cc: Herbert Xu <herbert@gondor.apana.org.au>
* omap-rng: Use struct dev_pm_ops for power managementRafael J. Wysocki2012-07-101-6/+7
| | | | | | | | Make the omap-rng driver define its PM callbacks through a struct dev_pm_ops object rather than by using legacy PM hooks in struct platform_driver. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linuxHerbert Xu2012-05-151-0/+2
|\ | | | | | | Merge mainline to add prerequisite for ARM ux500 crypto support.
| * ARM: OMAP: Remove plat/io.h by splitting it into mach/io.h and mach/hardware.hTony Lindgren2012-02-241-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | This is needed to minimize io.h so the SoC specific io.h for ARMs can removed. Note that minimal driver changes for DSS and RNG are needed to include cpu.h for SoC detection macros. Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> Cc: Matt Mackall <mpm@selenic.com> Cc: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Tony Lindgren <tony@atomide.com>
* | hwrng: omap - use devm_request_and_ioremapJulia Lawall2012-04-271-20/+2
|/ | | | | | | Using devm_request_and_ioremap is more concise. Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
* hwrng: omap - add missing clk_putJulia Lawall2011-06-301-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Convert a return to a jump to an existing label that calls clk_put. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r exists@ expression e1,e2; statement S; @@ e1 = clk_get@p1(...); ... when != e1 = e2 when != clk_put(e1) when any if (...) { ... when != clk_put(e1) when != if (...) { ... clk_put(e1) ... } * return@p3 ...; } else S // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
* hwrng: omap - Convert release_resource to release_region/release_mem_regionJulia Lawall2011-02-161-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Request_region should be used with release_region, not release_resource. The local variable mem, storing the result of request_mem_region, is dropped and instead the pointer res is stored in the drvdata field of the platform device. This information is retrieved in omap_rng_remove to release the region. The drvdata field is not used elsewhere. The semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x,E; @@ ( *x = request_region(...) | *x = request_mem_region(...) ) ... when != release_region(x) when != x = E * release_resource(x); // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
* omap: rng: Use resource_size instead of manual calculationTobias Klauser2009-09-241-2/+2
| | | | | | | Use the resource_size function instead of manually calculating the resource size. This reduces the chance of introducing off-by-one-errors. Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
* hwrng: omap - Move probe function to .devinit.textUwe Kleine-König2009-06-021-1/+1
| | | | | | | | | | | | | | | | | | | | | A pointer to omap_rng_probe is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Cc: Russell King <rmk+kernel@arm.linux.org.uk> Cc: David Brownell <dbrownell@users.sourceforge.net> Cc: Patrick McHardy <kaber@trash.net> Cc: Jan Engelhardt <jengelh@gmx.de> Cc: Michael Buesch <mb@bu3sch.de> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
* [ARM] omap: convert omap RNG clocks to match by devid and conidRussell King2009-02-081-1/+1
| | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: ensure OMAP drivers pass a struct device to clk_get()Russell King2009-01-241-1/+1
| | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] omap: convert OMAP drivers to use ioremap()Russell King2008-09-051-8/+25
| | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [HWRNG] omap: Minor updatesDavid Brownell2008-04-211-13/+13
| | | | | | | | | | | | | | | | | Minor cleanups to the OMAP RNG: - Comment update re RNG status: * yes, it works on 16xx; "rngtest" is quite happy * it's fast enough that polling vs IRQ is a non-issue - Get rid of BUG_ON - Help GCC not be stupid about inlining (object code shrink) - Remove "sparse" warning - Cope with new hotplug rule requiring "platform:" modalias And make the file header match kernel conventions. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
* [HWRNG]: move status polling loop to data_present callbacksPatrick McHardy2008-01-111-2/+11
| | | | | | | | | Handle waiting for new random within the drivers themselves, this allows to use better suited timeouts for the individual rngs. Signed-off-by: Patrick McHardy <kaber@trash.net> Acked-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
* Convert files to UTF-8 and some cleanupsJan Engelhardt2007-10-191-1/+1
| | | | | | | | | | | | | | | | | | * Convert files to UTF-8. * Also correct some people's names (one example is Eißfeldt, which was found in a source file. Given that the author used an ß at all in a source file indicates that the real name has in fact a 'ß' and not an 'ss', which is commonly used as a substitute for 'ß' when limited to 7bit.) * Correct town names (Goettingen -> Göttingen) * Update Eberhard Mönkeberg's address (http://lkml.org/lkml/2007/1/8/313) Signed-off-by: Jan Engelhardt <jengelh@gmx.de> Signed-off-by: Adrian Bunk <bunk@kernel.org>
* fix file specification in commentsUwe Zeisberger2006-10-031-1/+1
| | | | | | | Many files include the filename at the beginning, serveral used a wrong one. Signed-off-by: Uwe Zeisberger <Uwe_Zeisberger@digi.com> Signed-off-by: Adrian Bunk <bunk@stusta.de>
* [PATCH] omap-rng build fixDavid Brownell2006-08-061-27/+24
| | | | | | | | | | Seems like the omap-rng driver in the main tree predates the switch from <asm/hardware/clock.h> to <linux/clk.h> ... now it builds OK. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] Add TI OMAP CPU family HW RNG driverMichael Buesch2006-06-261-0/+208
Signed-off-by: Michael Buesch <mb@bu3sch.de> Cc: Jeff Garzik <jeff@garzik.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>