aboutsummaryrefslogtreecommitdiff
path: root/drivers/char/hw_random/omap3-rom-rng.c
AgeCommit message (Collapse)AuthorFilesLines
2020-04-10change email address for Pali RohárPali Rohár1-2/+2
For security reasons I stopped using gmail account and kernel address is now up-to-date alias to my personal address. People periodically send me emails to address which they found in source code of drivers, so this change reflects state where people can contact me. [ Added .mailmap entry as per Joe Perches - Linus ] Signed-off-by: Pali Rohár <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Cc: Greg Kroah-Hartman <[email protected]> Cc: Joe Perches <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Linus Torvalds <[email protected]>
2020-02-28hwrng: omap3-rom - Include linux/io.h for virt_to_physHerbert Xu1-0/+1
This patch adds linux/io.h to the header list to ensure that we get virt_to_phys on all architectures. Signed-off-by: Herbert Xu <[email protected]>
2019-11-01hwrng: omap3-rom - Fix unused function warningsArnd Bergmann1-2/+2
When runtime-pm is disabled, we get a few harmless warnings: drivers/char/hw_random/omap3-rom-rng.c:65:12: error: unused function 'omap_rom_rng_runtime_suspend' [-Werror,-Wunused-function] drivers/char/hw_random/omap3-rom-rng.c:81:12: error: unused function 'omap_rom_rng_runtime_resume' [-Werror,-Wunused-function] Mark these functions as __maybe_unused so gcc can drop them silently. Fixes: 8d9d4bdc495f ("hwrng: omap3-rom - Use runtime PM instead of custom functions") Signed-off-by: Arnd Bergmann <[email protected]> Reviewed-by: Sebastian Reichel <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2019-10-05hwrng: omap3-rom - Use devm hwrng and runtime PMTony Lindgren1-26/+16
This allows us to simplify things more for probe and exit. Cc: Aaro Koskinen <[email protected]> Cc: Adam Ford <[email protected]> Cc: Pali Rohár <[email protected]> Cc: Sebastian Reichel <[email protected]> Cc: Tero Kristo <[email protected]> Suggested-by: Sebastian Reichel <[email protected]> Signed-off-by: Tony Lindgren <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2019-10-05hwrng: omap3-rom - Use runtime PM instead of custom functionsTony Lindgren1-53/+73
Nowadays we have runtime PM, and we can use it with autosuspend_timeout to idle things automatically. This allows us to get rid of the custom PM implementation. We enable clocks and init RNG in runtime_resume, and reset RNG and disable clocks in runtime_suspend. And then omap3_rom_rng_read() becomes very simple and we don't need the old functions for omap3_rom_rng_idle() and omap3_rom_rng_get_random(). We can now also get rid of pr_fmt as we're using dev_err instead. Cc: Aaro Koskinen <[email protected]> Cc: Adam Ford <[email protected]> Cc: Pali Rohár <[email protected]> Cc: Sebastian Reichel <[email protected]> Cc: Tero Kristo <[email protected]> Signed-off-by: Tony Lindgren <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2019-10-05hwrng: omap3-rom - Update to use standard driver dataTony Lindgren1-15/+30
Let's update omap3-rom-rng to use standard driver data to make it easier to add runtime PM support in the following patch. Just use it for the rng ops and clock for now. Let's still keep also old rng_clk still around, we will remove delayed work and rng_clk with runtime PM in the next patch. Cc: Aaro Koskinen <[email protected]> Cc: Adam Ford <[email protected]> Cc: Pali Rohár <[email protected]> Cc: Sebastian Reichel <[email protected]> Cc: Tero Kristo <[email protected]> Signed-off-by: Tony Lindgren <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2019-10-05hwrng: omap3-rom - Initialize default quality to get dataTony Lindgren1-0/+1
Similar to commit 62f95ae805fa ("hwrng: omap - Set default quality") we need to initialize the default quality for the RNG to be used. The symptoms of this problem is that doing hd /dev/random does not produce much data at all. Cc: Aaro Koskinen <[email protected]> Cc: Adam Ford <[email protected]> Cc: Pali Rohár <[email protected]> Cc: Sebastian Reichel <[email protected]> Cc: Tero Kristo <[email protected]> Signed-off-by: Tony Lindgren <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2019-10-05hwrng: omap3-rom - Call clk_disable_unprepare() on exit only if not idledTony Lindgren1-1/+2
When unloading omap3-rom-rng, we'll get the following: WARNING: CPU: 0 PID: 100 at drivers/clk/clk.c:948 clk_core_disable This is because the clock may be already disabled by omap3_rom_rng_idle(). Let's fix the issue by checking for rng_idle on exit. Cc: Aaro Koskinen <[email protected]> Cc: Adam Ford <[email protected]> Cc: Pali Rohár <[email protected]> Cc: Sebastian Reichel <[email protected]> Cc: Tero Kristo <[email protected]> Fixes: 1c6b7c2108bd ("hwrng: OMAP3 ROM Random Number Generator support") Signed-off-by: Tony Lindgren <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2019-10-05hwrng: omap3-rom - Fix missing clock by probing with device treeTony Lindgren1-2/+15
Commit 0ed266d7ae5e ("clk: ti: omap3: cleanup unnecessary clock aliases") removed old omap3 clock framework aliases but caused omap3-rom-rng to stop working with clock not found error. Based on discussions on the mailing list it was requested by Tero Kristo that it would be best to fix this issue by probing omap3-rom-rng using device tree to provide a proper clk property. The other option would be to add back the missing clock alias, but that does not help moving things forward with removing old legacy platform_data. Let's also add a proper device tree binding and keep it together with the fix. Cc: [email protected] Cc: Aaro Koskinen <[email protected]> Cc: Adam Ford <[email protected]> Cc: Pali Rohár <[email protected]> Cc: Rob Herring <[email protected]> Cc: Sebastian Reichel <[email protected]> Cc: Tero Kristo <[email protected]> Fixes: 0ed266d7ae5e ("clk: ti: omap3: cleanup unnecessary clock aliases") Reported-by: Aaro Koskinen <[email protected]> Signed-off-by: Tony Lindgren <[email protected]> Acked-by: Rob Herring <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2017-05-23hwrng: omap3-rom - Handle return value of clk_prepare_enableArvind Yadav1-2/+9
Here, Clock enable can failed. So adding an error check for clk_prepare_enable. Signed-off-by: Arvind Yadav <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2016-08-24hwrng: omap3-rom - Remove obsoleted functionsPrasannaKumar Muralidharan1-8/+2
Remove omap3_rom_rng_data_present method as it was returning 1 always. Use .read callback instead of .data_read callback. This avoids use of obsolete callbacks. This patch is not tested with hardware as I don't have access to it. Signed-off-by: PrasannaKumar Muralidharan <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2015-11-23hwrng: omap3-rom - convert timer to delayed workAaro Koskinen1-6/+7
We cannot put the HW RNG to idle using a timer because we cannot disable clocks from atomic context. Use a delayed work instead. Fixes a warning with CONFIG_DEBUG_MUTEXES on Nokia N900 during boot. Reported-by: Sebastian Reichel <[email protected]> Signed-off-by: Aaro Koskinen <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2014-10-20char: hw_random: drop owner assignment from platform_driversWolfram Sang1-1/+0
A platform_driver does not need to set an owner, it will be populated by the driver core. Signed-off-by: Wolfram Sang <[email protected]>
2014-03-10hwrng: omap3-rom - Use devm_clk_get()Jingoo Han1-2/+1
Use devm_clk_get() to make cleanup paths simpler. Signed-off-by: Jingoo Han <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2013-10-16hwrng: OMAP3 ROM Random Number Generator supportPali Rohár1-0/+141
This driver provides kernel-side support for the Random Number Generator hardware found on OMAP34xx processors. This driver comes from Maemo 2.6.28 kernel and was tested on Nokia RX-51. It is platform device because it needs board specific function for smc calls. Signed-off-by: Pali Rohár <[email protected]> Signed-off-by: Juha Yrjola <[email protected]> Acked-by: Tony Lindgren <[email protected]> Signed-off-by: Herbert Xu <[email protected]>