[PATCH v2] mux: adgs1408: fix Wvoid-pointer-to-enum-cast warning

From: Krzysztof Kozlowski
Date: Thu May 01 2025 - 14:18:39 EST


'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]

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>

---

Changes in v2:
1. Use kernel_ulong_t instead of uintptr_t
2. Rebase

Patch from 2023:
Link: https://lore.kernel.org/r/20230810095822.123181-1-krzysztof.kozlowski@xxxxxxxxxx
---
drivers/mux/adgs1408.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mux/adgs1408.c b/drivers/mux/adgs1408.c
index 5386cfedcb06..5eaf07d09ac9 100644
--- a/drivers/mux/adgs1408.c
+++ b/drivers/mux/adgs1408.c
@@ -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))
--
2.45.2