mfd: wm8994: Fix Wvoid-pointer-to-enum-cast warning
authorKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Thu, 10 Aug 2023 09:58:47 +0000 (11:58 +0200)
committerLee Jones <lee@kernel.org>
Tue, 22 Aug 2023 07:07:52 +0000 (08:07 +0100)
'type' is an enum, thus cast of pointer on 64-bit compile test with W=1
causes:

  wm8994-core.c:631:19: error: cast to smaller integer type 'enum wm8994_type' from 'const void *' [-Werror,-Wvoid-pointer-to-enum-cast]

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20230810095849.123321-7-krzysztof.kozlowski@linaro.org
Signed-off-by: Lee Jones <lee@kernel.org>
drivers/mfd/wm8994-core.c

index 1e4f169..aba7af6 100644 (file)
@@ -628,7 +628,7 @@ static int wm8994_i2c_probe(struct i2c_client *i2c)
        if (i2c->dev.of_node) {
                of_id = of_match_device(wm8994_of_match, &i2c->dev);
                if (of_id)
-                       wm8994->type = (enum wm8994_type)of_id->data;
+                       wm8994->type = (uintptr_t)of_id->data;
        } else {
                wm8994->type = id->driver_data;
        }