xref: /rk3399_rockchip-uboot/drivers/rng/rng-uclass.c (revision 28507ac336d6a31c182ab824d4e8fa2b5536f773)
1*28507ac3SSughosh Ganu // SPDX-License-Identifier: GPL-2.0+
2*28507ac3SSughosh Ganu /*
3*28507ac3SSughosh Ganu  * Copyright (c) 2019, Linaro Limited
4*28507ac3SSughosh Ganu  */
5*28507ac3SSughosh Ganu 
6*28507ac3SSughosh Ganu #include <common.h>
7*28507ac3SSughosh Ganu #include <dm.h>
8*28507ac3SSughosh Ganu #include <rng.h>
9*28507ac3SSughosh Ganu 
dm_rng_read(struct udevice * dev,void * buffer,size_t size)10*28507ac3SSughosh Ganu int dm_rng_read(struct udevice *dev, void *buffer, size_t size)
11*28507ac3SSughosh Ganu {
12*28507ac3SSughosh Ganu 	const struct dm_rng_ops *ops = device_get_ops(dev);
13*28507ac3SSughosh Ganu 
14*28507ac3SSughosh Ganu 	if (!ops->read)
15*28507ac3SSughosh Ganu 		return -ENOSYS;
16*28507ac3SSughosh Ganu 
17*28507ac3SSughosh Ganu 	return ops->read(dev, buffer, size);
18*28507ac3SSughosh Ganu }
19*28507ac3SSughosh Ganu 
20*28507ac3SSughosh Ganu UCLASS_DRIVER(rng) = {
21*28507ac3SSughosh Ganu 	.name = "rng",
22*28507ac3SSughosh Ganu 	.id = UCLASS_RNG,
23*28507ac3SSughosh Ganu };
24