mirror of
https://github.com/torvalds/linux.git
synced 2026-11-07 06:17:02 +01:00
hwrng: atmel - use HZ_PER_MHZ in atmel_trng_init()
Combine and inline the rate check to simplify the code. Drop the local rate variable and use HZ_PER_MHZ instead of the hard-coded frequency. Signed-off-by: Thorsten Blum <blum@kernel.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
611b15d344
commit
7d91d0ae0c
|
|
@ -17,6 +17,7 @@
|
|||
#include <linux/of.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/pm_runtime.h>
|
||||
#include <linux/units.h>
|
||||
|
||||
#define TRNG_CR 0x00
|
||||
#define TRNG_MR 0x04
|
||||
|
|
@ -85,20 +86,14 @@ static int atmel_trng_read(struct hwrng *rng, void *buf, size_t max,
|
|||
|
||||
static int atmel_trng_init(struct atmel_trng *trng)
|
||||
{
|
||||
unsigned long rate;
|
||||
int ret;
|
||||
|
||||
ret = clk_prepare_enable(trng->clk);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
if (trng->has_half_rate) {
|
||||
rate = clk_get_rate(trng->clk);
|
||||
|
||||
/* if peripheral clk is above 100MHz, set HALFR */
|
||||
if (rate > 100000000)
|
||||
writel(TRNG_HALFR, trng->base + TRNG_MR);
|
||||
}
|
||||
if (trng->has_half_rate && clk_get_rate(trng->clk) > 100 * HZ_PER_MHZ)
|
||||
writel(TRNG_HALFR, trng->base + TRNG_MR);
|
||||
|
||||
writel(TRNG_KEY | 1, trng->base + TRNG_CR);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user