mux: adgs1408: fix Wvoid-pointer-to-enum-cast warning
authorKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Thu, 1 May 2025 18:18:20 +0000 (20:18 +0200)
committerKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Thu, 8 May 2025 15:12:08 +0000 (17:12 +0200)
'chip_id' is an enum, thus cast of pointer on 64-bit compile test with
W=1 causes:

  adgs1408.c:63:12: error: cast to smaller integer type 'enum adgs1408_chip_id' from 'const void *' [-Werror,-Wvoid-pointer-to-enum-cast]

Reviewed-by: Nuno Sá <nuno.sa@analog.com>
Link: https://lore.kernel.org/r/20250501181819.164207-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
drivers/mux/adgs1408.c

index 5386cfedcb06c191861804d31b00d1082034bd37..5eaf07d09ac910fb5653d99056e19b3ffe10659a 100644 (file)
@@ -59,7 +59,7 @@ static int adgs1408_probe(struct spi_device *spi)
        s32 idle_state;
        int ret;
 
-       chip_id = (enum adgs1408_chip_id)spi_get_device_match_data(spi);
+       chip_id = (kernel_ulong_t)spi_get_device_match_data(spi);
 
        mux_chip = devm_mux_chip_alloc(dev, 1, 0);
        if (IS_ERR(mux_chip))