rand32_entropy_device.c: remove atomic_t misuse
There is no reason for storing a pointer into an atomic_t variable here. Not only because this requires a dubious double cast that breaks on 64-bit builds as atomic_t is a 32-bit type, but also because the comment in the code already admits that the whole operation isn't atomic anyway and that it is fine. So let's keep things simple. Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
This commit is contained in:
parent
4afcc0f8af
commit
f94113d066
|
@ -8,11 +8,11 @@
|
||||||
#include <kernel.h>
|
#include <kernel.h>
|
||||||
#include <entropy.h>
|
#include <entropy.h>
|
||||||
|
|
||||||
static atomic_t entropy_driver;
|
static struct device *entropy_driver;
|
||||||
|
|
||||||
u32_t sys_rand32_get(void)
|
u32_t sys_rand32_get(void)
|
||||||
{
|
{
|
||||||
struct device *dev = (struct device *)atomic_get(&entropy_driver);
|
struct device *dev = entropy_driver;
|
||||||
u32_t random_num;
|
u32_t random_num;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ u32_t sys_rand32_get(void)
|
||||||
"Device driver for %s (CONFIG_ENTROPY_NAME) not found. "
|
"Device driver for %s (CONFIG_ENTROPY_NAME) not found. "
|
||||||
"Check your build configuration!",
|
"Check your build configuration!",
|
||||||
CONFIG_ENTROPY_NAME);
|
CONFIG_ENTROPY_NAME);
|
||||||
atomic_set(&entropy_driver, (atomic_t)(uintptr_t)dev);
|
entropy_driver = dev;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = entropy_get_entropy(dev, (u8_t *)&random_num,
|
ret = entropy_get_entropy(dev, (u8_t *)&random_num,
|
||||||
|
|
Loading…
Reference in a new issue