Lines Matching +full:meson +full:- +full:rng
1 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
21 struct hwrng rng; member
24 static int meson_rng_read(struct hwrng *rng, void *buf, size_t max, bool wait) in meson_rng_read() argument
27 container_of(rng, struct meson_rng_data, rng); in meson_rng_read()
29 *(u32 *)buf = readl_relaxed(data->base + RNG_DATA); in meson_rng_read()
36 struct device *dev = &pdev->dev; in meson_rng_probe()
42 return -ENOMEM; in meson_rng_probe()
44 data->base = devm_platform_ioremap_resource(pdev, 0); in meson_rng_probe()
45 if (IS_ERR(data->base)) in meson_rng_probe()
46 return PTR_ERR(data->base); in meson_rng_probe()
53 data->rng.name = pdev->name; in meson_rng_probe()
54 data->rng.read = meson_rng_read; in meson_rng_probe()
56 return devm_hwrng_register(dev, &data->rng); in meson_rng_probe()
60 { .compatible = "amlogic,meson-rng", },
68 .name = "meson-rng",
75 MODULE_DESCRIPTION("Meson H/W Random Number Generator driver");