rtc: rs5c372: fix Wvoid-pointer-to-enum-cast warning
authorKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Thu, 10 Aug 2023 10:39:02 +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-rs5c372.c:829:19: error: cast to smaller integer type 'enum rtc_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-4-krzysztof.kozlowski@linaro.org
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/rtc/rtc-rs5c372.c

index ecabeef..f8fab02 100644 (file)
@@ -826,8 +826,7 @@ static int rs5c372_probe(struct i2c_client *client)
        rs5c372->client = client;
        i2c_set_clientdata(client, rs5c372);
        if (client->dev.of_node) {
-               rs5c372->type = (enum rtc_type)
-                       of_device_get_match_data(&client->dev);
+               rs5c372->type = (uintptr_t)of_device_get_match_data(&client->dev);
        } else {
                const struct i2c_device_id *id = i2c_match_id(rs5c372_id, client);
                rs5c372->type = id->driver_data;