1*3f0522ceSJoseph Chen /* 2*3f0522ceSJoseph Chen * (C) Copyright 2021 Rockchip Electronics Co., Ltd 3*3f0522ceSJoseph Chen * 4*3f0522ceSJoseph Chen * SPDX-License-Identifier: GPL-2.0+ 5*3f0522ceSJoseph Chen */ 6*3f0522ceSJoseph Chen #include <common.h> 7*3f0522ceSJoseph Chen #include <dm.h> 8*3f0522ceSJoseph Chen #include <rng.h> 9*3f0522ceSJoseph Chen rand_r(unsigned int * seedp)10*3f0522ceSJoseph Chenunsigned int rand_r(unsigned int *seedp) 11*3f0522ceSJoseph Chen { 12*3f0522ceSJoseph Chen struct udevice *dev; 13*3f0522ceSJoseph Chen unsigned int rand; 14*3f0522ceSJoseph Chen int ret; 15*3f0522ceSJoseph Chen 16*3f0522ceSJoseph Chen ret = uclass_get_device(UCLASS_RNG, 0, &dev); 17*3f0522ceSJoseph Chen if (ret) { 18*3f0522ceSJoseph Chen printf("No RNG device, ret=%d\n", ret); 19*3f0522ceSJoseph Chen return ret; 20*3f0522ceSJoseph Chen } 21*3f0522ceSJoseph Chen 22*3f0522ceSJoseph Chen ret = dm_rng_read(dev, &rand, sizeof(unsigned int)); 23*3f0522ceSJoseph Chen if (ret) { 24*3f0522ceSJoseph Chen printf("Reading RNG failed, ret=%d\n", ret); 25*3f0522ceSJoseph Chen return ret; 26*3f0522ceSJoseph Chen } 27*3f0522ceSJoseph Chen 28*3f0522ceSJoseph Chen return rand; 29*3f0522ceSJoseph Chen } 30*3f0522ceSJoseph Chen rand(void)31*3f0522ceSJoseph Chenunsigned int rand(void) 32*3f0522ceSJoseph Chen { 33*3f0522ceSJoseph Chen return rand_r(0); 34*3f0522ceSJoseph Chen } 35*3f0522ceSJoseph Chen srand(unsigned int seed)36*3f0522ceSJoseph Chenvoid srand(unsigned int seed) 37*3f0522ceSJoseph Chen { 38*3f0522ceSJoseph Chen /* nothing to do */ 39*3f0522ceSJoseph Chen } 40*3f0522ceSJoseph Chen 41