regulator: max77857: Fix Wvoid-pointer-to-enum-cast warning
authorKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Thu, 10 Aug 2023 11:19:13 +0000 (13:19 +0200)
committerMark Brown <broonie@kernel.org>
Thu, 10 Aug 2023 14:44:45 +0000 (15:44 +0100)
'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>
drivers/regulator/max77857-regulator.c

index 44a5105..145ad02 100644 (file)
@@ -53,7 +53,7 @@ enum max77857_id {
 
 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:
@@ -91,7 +91,7 @@ static int max77857_get_status(struct regulator_dev *rdev)
 
 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;
 
@@ -125,7 +125,7 @@ static unsigned int max77857_get_mode(struct regulator_dev *rdev)
 
 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) {