'id' is an enum, thus cast of pointer on 64-bit compile test with W=1
causes:
max77857-regulator.c:56:24: error: cast to smaller integer type 'enum max77857_id' from 'void *' [-Werror,-Wvoid-pointer-to-enum-cast]
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230810111914.204847-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
static bool max77857_volatile_reg(struct device *dev, unsigned int reg)
{
- enum max77857_id id = (enum max77857_id)dev_get_drvdata(dev);
+ enum max77857_id id = (uintptr_t)dev_get_drvdata(dev);
switch (id) {
case ID_MAX77831:
static unsigned int max77857_get_mode(struct regulator_dev *rdev)
{
- enum max77857_id id = (enum max77857_id)rdev_get_drvdata(rdev);
+ enum max77857_id id = (uintptr_t)rdev_get_drvdata(rdev);
unsigned int regval;
int ret;
static int max77857_set_mode(struct regulator_dev *rdev, unsigned int mode)
{
- enum max77857_id id = (enum max77857_id)rdev_get_drvdata(rdev);
+ enum max77857_id id = (uintptr_t)rdev_get_drvdata(rdev);
unsigned int reg, val;
switch (id) {