hwmon: (ads7828) fix Wvoid-pointer-to-enum-cast warning
authorKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Thu, 10 Aug 2023 09:31:45 +0000 (11:31 +0200)
committerGuenter Roeck <linux@roeck-us.net>
Mon, 21 Aug 2023 13:04:30 +0000 (06:04 -0700)
'chip' is an enum, thus cast of pointer on 64-bit compile test with W=1
causes:

  ads7828.c:142:10: error: cast to smaller integer type 'enum ads7828_chips' from 'const void *' [-Werror,-Wvoid-pointer-to-enum-cast]

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230810093157.94244-3-krzysztof.kozlowski@linaro.org
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/ads7828.c

index e86894e..809e830 100644 (file)
@@ -139,8 +139,7 @@ static int ads7828_probe(struct i2c_client *client)
        }
 
        if (client->dev.of_node)
-               chip = (enum ads7828_chips)
-                       of_device_get_match_data(&client->dev);
+               chip = (uintptr_t)of_device_get_match_data(&client->dev);
        else
                chip = i2c_match_id(ads7828_device_ids, client)->driver_data;