Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mfd: wm8994: Fix Wvoid-pointer-to-enum-cast warning (again)

'type' is an enum, thus cast of pointer on 64-bit compile test with
clang and W=1 causes:

wm8994-core.c:625:17: error: cast to smaller integer type 'enum wm8994_type' from 'const void *' [-Werror,-Wvoid-pointer-to-enum-cast]

Year ago this was solved, although LKML discussion suggested warning is
not suitable for kernel. Nothing changed in this regard for a year, so
assume the warning will stay and we want to have warnings-free builds.

Link: https://lore.kernel.org/all/20230814160457.GA2836@dev-arch.thelio-3990X/
Link: https://lore.kernel.org/all/20230810095849.123321-1-krzysztof.kozlowski@linaro.org/
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20240606143648.152668-3-krzysztof.kozlowski@linaro.org
Signed-off-by: Lee Jones <lee@kernel.org>

authored by

Krzysztof Kozlowski and committed by
Lee Jones
7b28133d 105d4b4a

+1 -1
+1 -1
drivers/mfd/wm8994-core.c
··· 622 622 wm8994->dev = &i2c->dev; 623 623 wm8994->irq = i2c->irq; 624 624 625 - wm8994->type = (enum wm8994_type)i2c_get_match_data(i2c); 625 + wm8994->type = (kernel_ulong_t)i2c_get_match_data(i2c); 626 626 627 627 wm8994->regmap = devm_regmap_init_i2c(i2c, &wm8994_base_regmap_config); 628 628 if (IS_ERR(wm8994->regmap)) {