Lines Matching refs:rng
26 #define to_hisi_rng(p) container_of(p, struct hisi_rng, rng)
34 struct hwrng rng; member
37 static int hisi_rng_init(struct hwrng *rng) in hisi_rng_init() argument
39 struct hisi_rng *hrng = to_hisi_rng(rng); in hisi_rng_init()
60 static void hisi_rng_cleanup(struct hwrng *rng) in hisi_rng_cleanup() argument
62 struct hisi_rng *hrng = to_hisi_rng(rng); in hisi_rng_cleanup()
67 static int hisi_rng_read(struct hwrng *rng, void *buf, size_t max, bool wait) in hisi_rng_read() argument
69 struct hisi_rng *hrng = to_hisi_rng(rng); in hisi_rng_read()
78 struct hisi_rng *rng; in hisi_rng_probe() local
82 rng = devm_kzalloc(&pdev->dev, sizeof(*rng), GFP_KERNEL); in hisi_rng_probe()
83 if (!rng) in hisi_rng_probe()
86 platform_set_drvdata(pdev, rng); in hisi_rng_probe()
89 rng->base = devm_ioremap_resource(&pdev->dev, res); in hisi_rng_probe()
90 if (IS_ERR(rng->base)) in hisi_rng_probe()
91 return PTR_ERR(rng->base); in hisi_rng_probe()
93 rng->rng.name = pdev->name; in hisi_rng_probe()
94 rng->rng.init = hisi_rng_init; in hisi_rng_probe()
95 rng->rng.cleanup = hisi_rng_cleanup; in hisi_rng_probe()
96 rng->rng.read = hisi_rng_read; in hisi_rng_probe()
98 ret = devm_hwrng_register(&pdev->dev, &rng->rng); in hisi_rng_probe()