Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

hwrng: atmel - Add struct device pointer to device context struct

Add a struct device pointer field to the device's context struct. This
makes using the unsigned long priv pointer in struct hwrng unnecessary, so
remove that one as well.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

authored by

Sakari Ailus and committed by
Herbert Xu
695912e6 9af6339a

+6 -5
+6 -5
drivers/char/hw_random/atmel-rng.c
··· 37 37 struct clk *clk; 38 38 void __iomem *base; 39 39 struct hwrng rng; 40 + struct device *dev; 40 41 bool has_half_rate; 41 42 }; 42 43 ··· 60 59 u32 *data = buf; 61 60 int ret; 62 61 63 - ret = pm_runtime_get_sync((struct device *)trng->rng.priv); 62 + ret = pm_runtime_get_sync(trng->dev); 64 63 if (ret < 0) { 65 - pm_runtime_put_sync((struct device *)trng->rng.priv); 64 + pm_runtime_put_sync(trng->dev); 66 65 return ret; 67 66 } 68 67 ··· 80 79 ret = 4; 81 80 82 81 out: 83 - pm_runtime_mark_last_busy((struct device *)trng->rng.priv); 84 - pm_runtime_put_sync_autosuspend((struct device *)trng->rng.priv); 82 + pm_runtime_mark_last_busy(trng->dev); 83 + pm_runtime_put_sync_autosuspend(trng->dev); 85 84 return ret; 86 85 } 87 86 ··· 135 134 return -ENODEV; 136 135 137 136 trng->has_half_rate = data->has_half_rate; 137 + trng->dev = &pdev->dev; 138 138 trng->rng.name = pdev->name; 139 139 trng->rng.read = atmel_trng_read; 140 - trng->rng.priv = (unsigned long)&pdev->dev; 141 140 platform_set_drvdata(pdev, trng); 142 141 143 142 #ifndef CONFIG_PM