There is no need for double explicit cast from of_device_get_match_data()
(uintptr_t and then to target enum) because implicit conversion from
uintptr_t to enum is straightforward (uintptr_t is a integer type).

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlow...@canonical.com>

---

gcc v9.3.0 W=1 does not complain after removal of cast.
---
 drivers/power/supply/max17040_battery.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/power/supply/max17040_battery.c 
b/drivers/power/supply/max17040_battery.c
index d2053cd0bd13..1aab868adabf 100644
--- a/drivers/power/supply/max17040_battery.c
+++ b/drivers/power/supply/max17040_battery.c
@@ -486,8 +486,7 @@ static int max17040_probe(struct i2c_client *client,
                ret = max17040_get_of_data(chip);
                if (ret)
                        return ret;
-               chip_id = (enum chip_id) (uintptr_t)
-                       of_device_get_match_data(&client->dev);
+               chip_id = (uintptr_t)of_device_get_match_data(&client->dev);
        }
        chip->data = max17040_family[chip_id];
 
-- 
2.25.1

Reply via email to