Lines Matching full:rng

22 /* enable rng */
31 struct hwrng rng; member
38 static inline struct bcm2835_rng_priv *to_rng_priv(struct hwrng *rng) in to_rng_priv() argument
40 return container_of(rng, struct bcm2835_rng_priv, rng); in to_rng_priv()
63 static int bcm2835_rng_read(struct hwrng *rng, void *buf, size_t max, in bcm2835_rng_read() argument
66 struct bcm2835_rng_priv *priv = to_rng_priv(rng); in bcm2835_rng_read()
73 hwrng_yield(rng); in bcm2835_rng_read()
86 static int bcm2835_rng_init(struct hwrng *rng) in bcm2835_rng_init() argument
88 struct bcm2835_rng_priv *priv = to_rng_priv(rng); in bcm2835_rng_init()
116 static void bcm2835_rng_cleanup(struct hwrng *rng) in bcm2835_rng_cleanup() argument
118 struct bcm2835_rng_priv *priv = to_rng_priv(rng); in bcm2835_rng_cleanup()
120 /* disable rng hardware */ in bcm2835_rng_cleanup()
135 { .compatible = "brcm,bcm2835-rng"},
136 { .compatible = "brcm,bcm-nsp-rng", .data = &nsp_rng_of_data },
137 { .compatible = "brcm,bcm5301x-rng", .data = &nsp_rng_of_data },
138 { .compatible = "brcm,bcm6368-rng"},
168 priv->rng.name = pdev->name; in bcm2835_rng_probe()
169 priv->rng.init = bcm2835_rng_init; in bcm2835_rng_probe()
170 priv->rng.read = bcm2835_rng_read; in bcm2835_rng_probe()
171 priv->rng.cleanup = bcm2835_rng_cleanup; in bcm2835_rng_probe()
178 /* Check for rng init function, execute it */ in bcm2835_rng_probe()
185 err = devm_hwrng_register(dev, &priv->rng); in bcm2835_rng_probe()
197 { .name = "bcm2835-rng" },
198 { .name = "bcm63xx-rng" },
205 .name = "bcm2835-rng",
214 MODULE_DESCRIPTION("BCM2835 Random Number Generator (RNG) driver");