/drivers/char/hw_random/ |
H A D | Makefile | 5 obj-$(CONFIG_HW_RANDOM) += rng-core.o 6 rng-core-y := core.o 7 obj-$(CONFIG_HW_RANDOM_TIMERIOMEM) += timeriomem-rng.o 8 obj-$(CONFIG_HW_RANDOM_INTEL) += intel-rng.o 9 obj-$(CONFIG_HW_RANDOM_AMD) += amd-rng.o 10 obj-$(CONFIG_HW_RANDOM_ATMEL) += atmel-rng.o 11 obj-$(CONFIG_HW_RANDOM_BCM63XX) += bcm63xx-rng.o 12 obj-$(CONFIG_HW_RANDOM_GEODE) += geode-rng.o 13 obj-$(CONFIG_HW_RANDOM_N2RNG) += n2-rng.o 14 n2-rng [all...] |
H A D | msm-rng.c | 48 struct msm_rng *rng = to_msm_rng(hwrng); local 52 ret = clk_prepare_enable(rng->clk); 58 val = readl_relaxed(rng->base + PRNG_CONFIG); 62 val = readl_relaxed(rng->base + PRNG_LFSR_CFG); 65 writel(val, rng->base + PRNG_LFSR_CFG); 67 val = readl_relaxed(rng->base + PRNG_CONFIG); 69 writel(val, rng->base + PRNG_CONFIG); 71 val = readl_relaxed(rng->base + PRNG_CONFIG); 73 writel(val, rng->base + PRNG_CONFIG); 77 clk_disable_unprepare(rng 83 struct msm_rng *rng = to_msm_rng(hwrng); local 137 struct msm_rng *rng; local 171 struct msm_rng *rng = platform_get_drvdata(pdev); local [all...] |
H A D | octeon-rng.c | 28 static int octeon_rng_init(struct hwrng *rng) argument 31 struct octeon_rng *p = container_of(rng, struct octeon_rng, ops); 40 static void octeon_rng_cleanup(struct hwrng *rng) argument 43 struct octeon_rng *p = container_of(rng, struct octeon_rng, ops); 50 static int octeon_rng_data_read(struct hwrng *rng, u32 *data) argument 52 struct octeon_rng *p = container_of(rng, struct octeon_rng, ops); 62 struct octeon_rng *rng; local 71 rng = devm_kzalloc(&pdev->dev, sizeof(*rng), GFP_KERNEL); 72 if (!rng) 110 struct hwrng *rng = platform_get_drvdata(pdev); local [all...] |
H A D | bcm63xx-rng.c | 24 #define to_rng_priv(rng) ((struct bcm63xx_rng_priv *)rng->priv) 26 static int bcm63xx_rng_init(struct hwrng *rng) argument 28 struct bcm63xx_rng_priv *priv = to_rng_priv(rng); 38 static void bcm63xx_rng_cleanup(struct hwrng *rng) argument 40 struct bcm63xx_rng_priv *priv = to_rng_priv(rng); 48 static int bcm63xx_rng_data_present(struct hwrng *rng, int wait) argument 50 struct bcm63xx_rng_priv *priv = to_rng_priv(rng); 55 static int bcm63xx_rng_data_read(struct hwrng *rng, u32 *data) argument 57 struct bcm63xx_rng_priv *priv = to_rng_priv(rng); 70 struct hwrng *rng; local 149 struct hwrng *rng = platform_get_drvdata(pdev); local [all...] |
H A D | core.c | 71 static inline int rng_get_data(struct hwrng *rng, u8 *buffer, size_t size, 79 static void add_early_randomness(struct hwrng *rng) argument 84 bytes_read = rng_get_data(rng, bytes, sizeof(bytes), 1); 89 static inline int hwrng_init(struct hwrng *rng) argument 91 if (rng->init) { 94 ret = rng->init(rng); 98 add_early_randomness(rng); 100 current_quality = rng->quality ? : default_quality; 111 static inline void hwrng_cleanup(struct hwrng *rng) argument 127 rng_get_data(struct hwrng *rng, u8 *buffer, size_t size, int wait) argument 234 struct hwrng *rng; local 285 struct hwrng *rng; local 374 hwrng_register(struct hwrng *rng) argument 444 hwrng_unregister(struct hwrng *rng) argument [all...] |
H A D | exynos-rng.c | 2 * exynos-rng.c - Random Number Generator driver for the exynos 41 struct hwrng rng; member in struct:exynos_rng 46 static u32 exynos_rng_readl(struct exynos_rng *rng, u32 offset) argument 48 return __raw_readl(rng->mem + offset); 51 static void exynos_rng_writel(struct exynos_rng *rng, u32 val, u32 offset) argument 53 __raw_writel(val, rng->mem + offset); 56 static int exynos_init(struct hwrng *rng) argument 58 struct exynos_rng *exynos_rng = container_of(rng, 59 struct exynos_rng, rng); 78 static int exynos_read(struct hwrng *rng, voi argument [all...] |
H A D | tx4939-rng.c | 29 struct hwrng rng; member in struct:tx4939_rng 65 static int tx4939_rng_data_present(struct hwrng *rng, int wait) argument 67 struct tx4939_rng *rngdev = container_of(rng, struct tx4939_rng, rng); 98 static int tx4939_rng_data_read(struct hwrng *rng, u32 *buffer) argument 100 struct tx4939_rng *rngdev = container_of(rng, struct tx4939_rng, rng); 121 rngdev->rng.name = dev_name(&dev->dev); 122 rngdev->rng.data_present = tx4939_rng_data_present; 123 rngdev->rng [all...] |
H A D | mxc-rnga.c | 64 struct hwrng rng; member in struct:mxc_rng 69 static int mxc_rnga_data_present(struct hwrng *rng, int wait) argument 72 struct mxc_rng *mxc_rng = container_of(rng, struct mxc_rng, rng); 85 static int mxc_rnga_data_read(struct hwrng *rng, u32 * data) argument 89 struct mxc_rng *mxc_rng = container_of(rng, struct mxc_rng, rng); 108 static int mxc_rnga_init(struct hwrng *rng) argument 111 struct mxc_rng *mxc_rng = container_of(rng, struct mxc_rng, rng); 131 mxc_rnga_cleanup(struct hwrng *rng) argument [all...] |
H A D | atmel-rng.c | 27 struct hwrng rng; member in struct:atmel_trng 30 static int atmel_trng_read(struct hwrng *rng, void *buf, size_t max, argument 33 struct atmel_trng *trng = container_of(rng, struct atmel_trng, rng); 75 trng->rng.name = pdev->name; 76 trng->rng.read = atmel_trng_read; 78 ret = hwrng_register(&trng->rng); 95 hwrng_unregister(&trng->rng);
|
H A D | pasemi-rng.c | 6 * Driver for the PWRficient onchip rng 46 static int pasemi_rng_data_present(struct hwrng *rng, int wait) argument 48 void __iomem *rng_regs = (void __iomem *)rng->priv; 61 static int pasemi_rng_data_read(struct hwrng *rng, u32 *data) argument 63 void __iomem *rng_regs = (void __iomem *)rng->priv; 68 static int pasemi_rng_init(struct hwrng *rng) argument 70 void __iomem *rng_regs = (void __iomem *)rng->priv; 80 static void pasemi_rng_cleanup(struct hwrng *rng) argument 82 void __iomem *rng_regs = (void __iomem *)rng->priv; 137 { .compatible = "1682m-rng", }, [all...] |
H A D | amd-rng.c | 56 static int amd_rng_data_present(struct hwrng *rng, int wait) argument 58 u32 pmbase = (u32)rng->priv; 70 static int amd_rng_data_read(struct hwrng *rng, u32 *data) argument 72 u32 pmbase = (u32)rng->priv; 79 static int amd_rng_init(struct hwrng *rng) argument 94 static void amd_rng_cleanup(struct hwrng *rng) argument
|
H A D | geode-rng.c | 55 static int geode_rng_data_read(struct hwrng *rng, u32 *data) argument 57 void __iomem *mem = (void __iomem *)rng->priv; 64 static int geode_rng_data_present(struct hwrng *rng, int wait) argument 66 void __iomem *mem = (void __iomem *)rng->priv;
|
H A D | via-rng.c | 91 static int via_rng_data_present(struct hwrng *rng, int wait) argument 120 rng->priv = *via_rng_datum; 124 static int via_rng_data_read(struct hwrng *rng, u32 *data) argument 126 u32 via_rng_datum = (u32)rng->priv; 133 static int via_rng_init(struct hwrng *rng) argument
|
H A D | timeriomem-rng.c | 2 * drivers/char/hw_random/timeriomem-rng.c 6 * Derived from drivers/char/hw_random/omap-rng.c 30 #include <linux/timeriomem-rng.h> 48 #define to_rng_priv(rng) \ 49 ((struct timeriomem_rng_private_data *)rng->priv) 54 static int timeriomem_rng_data_present(struct hwrng *rng, int wait) argument 56 struct timeriomem_rng_private_data *priv = to_rng_priv(rng); 66 static int timeriomem_rng_data_read(struct hwrng *rng, u32 *data) argument 68 struct timeriomem_rng_private_data *priv = to_rng_priv(rng);
|
H A D | Kconfig | 12 module will be called rng-core. This provides a device 35 module will be called timeriomem-rng. 48 module will be called intel-rng. 61 module will be called amd-rng. 74 module will be called atmel-rng. 87 module will be called bcm63xx-rng 100 module will be called bcm2835-rng 113 module will be called geode-rng. 126 module will be called n2-rng. 139 module will be called via-rng [all...] |
H A D | ppc4xx-rng.c | 31 static int ppc4xx_rng_data_present(struct hwrng *rng, int wait) argument 33 void __iomem *rng_regs = (void __iomem *) rng->priv; 47 static int ppc4xx_rng_data_read(struct hwrng *rng, u32 *data) argument 49 void __iomem *rng_regs = (void __iomem *) rng->priv; 127 { .compatible = "ppc4xx-rng", }, 128 { .compatible = "amcc,ppc460ex-rng", }, 129 { .compatible = "amcc,ppc440epx-rng", },
|
H A D | tpm-rng.c | 24 #define MODULE_NAME "tpm-rng" 26 static int tpm_rng_read(struct hwrng *rng, void *data, size_t max, bool wait) argument
|
H A D | ixp4xx-rng.c | 2 * drivers/char/hw_random/ixp4xx-rng.c 29 static int ixp4xx_rng_data_read(struct hwrng *rng, u32 *buffer) argument 31 void __iomem * rng_base = (void __iomem *)rng->priv;
|
H A D | virtio-rng.c | 67 static int virtio_read(struct hwrng *rng, void *buf, size_t size, bool wait) argument 70 struct virtrng_info *vi = (struct virtrng_info *)rng->priv; 93 static void virtio_cleanup(struct hwrng *rng) argument 95 struct virtrng_info *vi = (struct virtrng_info *)rng->priv;
|
H A D | bcm2835-rng.c | 23 /* enable rng */ 29 static int bcm2835_rng_read(struct hwrng *rng, void *buf, size_t max, argument 32 void __iomem *rng_base = (void __iomem *)rng->priv; 59 dev_err(dev, "failed to remap rng regs"); 83 /* disable rng hardware */ 94 { .compatible = "brcm,bcm2835-rng", }, 101 .name = "bcm2835-rng",
|
H A D | intel-rng.c | 167 static int intel_rng_data_present(struct hwrng *rng, int wait) argument 169 void __iomem *mem = (void __iomem *)rng->priv; 182 static int intel_rng_data_read(struct hwrng *rng, u32 *data) argument 184 void __iomem *mem = (void __iomem *)rng->priv; 191 static int intel_rng_init(struct hwrng *rng) argument 193 void __iomem *mem = (void __iomem *)rng->priv; 210 static void intel_rng_cleanup(struct hwrng *rng) argument 212 void __iomem *mem = (void __iomem *)rng->priv;
|
H A D | nomadik-rng.c | 22 static int nmk_rng_read(struct hwrng *rng, void *data, size_t max, bool wait) argument 24 void __iomem *base = (void __iomem *)rng->priv; 48 dev_err(&dev->dev, "could not get rng clock\n"); 97 .name = "rng",
|
H A D | omap3-rom-rng.c | 2 * omap3-rom-rng.c - RNG driver for TI OMAP3 CPU family 74 static int omap3_rom_rng_data_present(struct hwrng *rng, int wait) argument 79 static int omap3_rom_rng_data_read(struct hwrng *rng, u32 *data) argument 128 .name = "omap3-rom-rng", 137 MODULE_ALIAS("platform:omap3-rom-rng");
|
H A D | omap-rng.c | 2 * omap-rng.c - RNG driver for TI OMAP CPU family 143 static int omap_rng_data_present(struct hwrng *rng, int wait) argument 148 priv = (struct omap_rng_dev *)rng->priv; 164 static int omap_rng_data_read(struct hwrng *rng, u32 *data) argument 169 priv = (struct omap_rng_dev *)rng->priv; 180 static int omap_rng_init(struct hwrng *rng) argument 184 priv = (struct omap_rng_dev *)rng->priv; 188 static void omap_rng_cleanup(struct hwrng *rng) argument 192 priv = (struct omap_rng_dev *)rng->priv; 305 .compatible = "ti,omap2-rng", [all...] |
H A D | powernv-rng.c | 18 static int powernv_rng_read(struct hwrng *rng, void *data, size_t max, bool wait) argument 35 .name = "powernv-rng", 65 { .compatible = "ibm,power-rng",},
|