hwrng: imx-rngc - use bitfield macros to read rng type
authorMartin Kaiser <martin@kaiser.cx>
Fri, 19 May 2023 16:04:32 +0000 (18:04 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Wed, 24 May 2023 10:12:33 +0000 (18:12 +0800)
Use the mechanism from bitfield.h to read the rng type field in the
version_id register. This makes the code a tiny bit simpler.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/char/hw_random/imx-rngc.c

index cf29c32..b5f7b91 100644 (file)
@@ -27,7 +27,7 @@
 #define RNGC_FIFO                      0x0014
 
 /* the fields in the ver id register */
-#define RNGC_TYPE_SHIFT                28
+#define RNG_TYPE                       GENMASK(31, 28)
 #define RNGC_VER_MAJ_SHIFT             8
 
 /* the rng_type field */
@@ -251,7 +251,7 @@ static int imx_rngc_probe(struct platform_device *pdev)
                return irq;
 
        ver_id = readl(rngc->base + RNGC_VER_ID);
-       rng_type = ver_id >> RNGC_TYPE_SHIFT;
+       rng_type = FIELD_GET(RNG_TYPE, ver_id);
        /*
         * This driver supports only RNGC and RNGB. (There's a different
         * driver for RNGA.)