This source file includes following definitions.
- bcm63xx_rng_register
1
2
3
4
5
6
7
8
9 #include <linux/init.h>
10 #include <linux/kernel.h>
11 #include <linux/platform_device.h>
12 #include <bcm63xx_cpu.h>
13
14 static struct resource rng_resources[] = {
15 {
16 .start = -1,
17 .end = -1,
18 .flags = IORESOURCE_MEM,
19 },
20 };
21
22 static struct platform_device bcm63xx_rng_device = {
23 .name = "bcm63xx-rng",
24 .id = -1,
25 .num_resources = ARRAY_SIZE(rng_resources),
26 .resource = rng_resources,
27 };
28
29 int __init bcm63xx_rng_register(void)
30 {
31 if (!BCMCPU_IS_6368())
32 return -ENODEV;
33
34 rng_resources[0].start = bcm63xx_regset_address(RSET_RNG);
35 rng_resources[0].end = rng_resources[0].start;
36 rng_resources[0].end += RSET_RNG_SIZE - 1;
37
38 return platform_device_register(&bcm63xx_rng_device);
39 }
40 arch_initcall(bcm63xx_rng_register);