rngdev             67 drivers/char/hw_random/tx4939-rng.c 	struct tx4939_rng *rngdev = container_of(rng, struct tx4939_rng, rng);
rngdev             70 drivers/char/hw_random/tx4939-rng.c 	if (rngdev->data_avail)
rngdev             71 drivers/char/hw_random/tx4939-rng.c 		return rngdev->data_avail;
rngdev             74 drivers/char/hw_random/tx4939-rng.c 		if (!(read_rng(rngdev->base, TX4939_RNG_RCSR)
rngdev             76 drivers/char/hw_random/tx4939-rng.c 			rngdev->databuf[0] =
rngdev             77 drivers/char/hw_random/tx4939-rng.c 				read_rng(rngdev->base, TX4939_RNG_ROR(0));
rngdev             78 drivers/char/hw_random/tx4939-rng.c 			rngdev->databuf[1] =
rngdev             79 drivers/char/hw_random/tx4939-rng.c 				read_rng(rngdev->base, TX4939_RNG_ROR(1));
rngdev             80 drivers/char/hw_random/tx4939-rng.c 			rngdev->databuf[2] =
rngdev             81 drivers/char/hw_random/tx4939-rng.c 				read_rng(rngdev->base, TX4939_RNG_ROR(2));
rngdev             82 drivers/char/hw_random/tx4939-rng.c 			rngdev->data_avail =
rngdev             83 drivers/char/hw_random/tx4939-rng.c 				sizeof(rngdev->databuf) / sizeof(u32);
rngdev             86 drivers/char/hw_random/tx4939-rng.c 				  rngdev->base, TX4939_RNG_RCSR);
rngdev             95 drivers/char/hw_random/tx4939-rng.c 	return rngdev->data_avail;
rngdev            100 drivers/char/hw_random/tx4939-rng.c 	struct tx4939_rng *rngdev = container_of(rng, struct tx4939_rng, rng);
rngdev            102 drivers/char/hw_random/tx4939-rng.c 	rngdev->data_avail--;
rngdev            103 drivers/char/hw_random/tx4939-rng.c 	*buffer = *((u32 *)&rngdev->databuf + rngdev->data_avail);
rngdev            109 drivers/char/hw_random/tx4939-rng.c 	struct tx4939_rng *rngdev;
rngdev            113 drivers/char/hw_random/tx4939-rng.c 	rngdev = devm_kzalloc(&dev->dev, sizeof(*rngdev), GFP_KERNEL);
rngdev            114 drivers/char/hw_random/tx4939-rng.c 	if (!rngdev)
rngdev            117 drivers/char/hw_random/tx4939-rng.c 	rngdev->base = devm_ioremap_resource(&dev->dev, r);
rngdev            118 drivers/char/hw_random/tx4939-rng.c 	if (IS_ERR(rngdev->base))
rngdev            119 drivers/char/hw_random/tx4939-rng.c 		return PTR_ERR(rngdev->base);
rngdev            121 drivers/char/hw_random/tx4939-rng.c 	rngdev->rng.name = dev_name(&dev->dev);
rngdev            122 drivers/char/hw_random/tx4939-rng.c 	rngdev->rng.data_present = tx4939_rng_data_present;
rngdev            123 drivers/char/hw_random/tx4939-rng.c 	rngdev->rng.data_read = tx4939_rng_data_read;
rngdev            127 drivers/char/hw_random/tx4939-rng.c 	write_rng(TX4939_RNG_RCSR_RST, rngdev->base, TX4939_RNG_RCSR);
rngdev            128 drivers/char/hw_random/tx4939-rng.c 	write_rng(0, rngdev->base, TX4939_RNG_RCSR);
rngdev            130 drivers/char/hw_random/tx4939-rng.c 	write_rng(TX4939_RNG_RCSR_ST, rngdev->base, TX4939_RNG_RCSR);
rngdev            141 drivers/char/hw_random/tx4939-rng.c 		rngdev->data_avail = 0;
rngdev            142 drivers/char/hw_random/tx4939-rng.c 		if (!tx4939_rng_data_present(&rngdev->rng, 1))
rngdev            146 drivers/char/hw_random/tx4939-rng.c 	platform_set_drvdata(dev, rngdev);
rngdev            147 drivers/char/hw_random/tx4939-rng.c 	return devm_hwrng_register(&dev->dev, &rngdev->rng);