]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
hwrng: atmel - Add struct device pointer to device context struct
authorSakari Ailus <sakari.ailus@linux.intel.com>
Thu, 10 Apr 2025 15:22:37 +0000 (18:22 +0300)
committerHerbert Xu <herbert@gondor.apana.org.au>
Wed, 16 Apr 2025 07:16:22 +0000 (15:16 +0800)
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>
drivers/char/hw_random/atmel-rng.c

index 143406bc69393ff1211cf25fe380a9e88d1e7a8c..d2b00458761e1b927ef3553368b18e38b9202ff3 100644 (file)
@@ -37,6 +37,7 @@ struct atmel_trng {
        struct clk *clk;
        void __iomem *base;
        struct hwrng rng;
+       struct device *dev;
        bool has_half_rate;
 };
 
@@ -59,9 +60,9 @@ static int atmel_trng_read(struct hwrng *rng, void *buf, size_t max,
        u32 *data = buf;
        int ret;
 
-       ret = pm_runtime_get_sync((struct device *)trng->rng.priv);
+       ret = pm_runtime_get_sync(trng->dev);
        if (ret < 0) {
-               pm_runtime_put_sync((struct device *)trng->rng.priv);
+               pm_runtime_put_sync(trng->dev);
                return ret;
        }
 
@@ -79,8 +80,8 @@ static int atmel_trng_read(struct hwrng *rng, void *buf, size_t max,
        ret = 4;
 
 out:
-       pm_runtime_mark_last_busy((struct device *)trng->rng.priv);
-       pm_runtime_put_sync_autosuspend((struct device *)trng->rng.priv);
+       pm_runtime_mark_last_busy(trng->dev);
+       pm_runtime_put_sync_autosuspend(trng->dev);
        return ret;
 }
 
@@ -134,9 +135,9 @@ static int atmel_trng_probe(struct platform_device *pdev)
                return -ENODEV;
 
        trng->has_half_rate = data->has_half_rate;
+       trng->dev = &pdev->dev;
        trng->rng.name = pdev->name;
        trng->rng.read = atmel_trng_read;
-       trng->rng.priv = (unsigned long)&pdev->dev;
        platform_set_drvdata(pdev, trng);
 
 #ifndef CONFIG_PM