Lines Matching full:rng
28 static int octeon_rng_init(struct hwrng *rng) in octeon_rng_init() argument
31 struct octeon_rng *p = container_of(rng, struct octeon_rng, ops); in octeon_rng_init()
35 ctl.s.rng_en = 1; /* Enable the RNG hardware. */ in octeon_rng_init()
40 static void octeon_rng_cleanup(struct hwrng *rng) in octeon_rng_cleanup() argument
43 struct octeon_rng *p = container_of(rng, struct octeon_rng, ops); in octeon_rng_cleanup()
50 static int octeon_rng_data_read(struct hwrng *rng, u32 *data) in octeon_rng_data_read() argument
52 struct octeon_rng *p = container_of(rng, struct octeon_rng, ops); in octeon_rng_data_read()
62 struct octeon_rng *rng; in octeon_rng_probe() local
71 rng = devm_kzalloc(&pdev->dev, sizeof(*rng), GFP_KERNEL); in octeon_rng_probe()
72 if (!rng) in octeon_rng_probe()
84 rng->control_status = devm_ioremap(&pdev->dev, in octeon_rng_probe()
87 if (!rng->control_status) in octeon_rng_probe()
90 rng->result = devm_ioremap(&pdev->dev, in octeon_rng_probe()
93 if (!rng->result) in octeon_rng_probe()
96 rng->ops = ops; in octeon_rng_probe()
98 platform_set_drvdata(pdev, &rng->ops); in octeon_rng_probe()
99 ret = devm_hwrng_register(&pdev->dev, &rng->ops); in octeon_rng_probe()