rtc: rv8803: fix Wvoid-pointer-to-enum-cast warning
authorKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Thu, 10 Aug 2023 10:39:00 +0000 (12:39 +0200)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Tue, 15 Aug 2023 23:32:08 +0000 (01:32 +0200)
'type' is an enum, thus cast of pointer on 64-bit compile test with W=1
causes:

  rtc-rv8803.c:648:18: error: cast to smaller integer type 'enum rv8803_type' from 'const void *' [-Werror,-Wvoid-pointer-to-enum-cast]

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230810103902.151145-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/rtc/rtc-rv8803.c

index fd8ab0b..1a3ec1b 100644 (file)
@@ -645,8 +645,7 @@ static int rv8803_probe(struct i2c_client *client)
        mutex_init(&rv8803->flags_lock);
        rv8803->client = client;
        if (client->dev.of_node) {
-               rv8803->type = (enum rv8803_type)
-                       of_device_get_match_data(&client->dev);
+               rv8803->type = (uintptr_t)of_device_get_match_data(&client->dev);
        } else {
                const struct i2c_device_id *id = i2c_match_id(rv8803_id, client);