.info = power_supply_hwmon_info,
 };
 
-static void power_supply_hwmon_bitmap_free(void *data)
-{
-       bitmap_free(data);
-}
-
 int power_supply_add_hwmon_sysfs(struct power_supply *psy)
 {
        const struct power_supply_desc *desc = psy->desc;
        }
 
        psyhw->psy = psy;
-       psyhw->props = bitmap_zalloc(POWER_SUPPLY_PROP_TIME_TO_FULL_AVG + 1,
-                                    GFP_KERNEL);
+       psyhw->props = devm_bitmap_zalloc(dev,
+                                         POWER_SUPPLY_PROP_TIME_TO_FULL_AVG + 1,
+                                         GFP_KERNEL);
        if (!psyhw->props) {
                ret = -ENOMEM;
                goto error;
        }
 
-       ret = devm_add_action_or_reset(dev, power_supply_hwmon_bitmap_free,
-                             psyhw->props);
-       if (ret)
-               goto error;
-
        for (i = 0; i < desc->num_properties; i++) {
                const enum power_supply_property prop = desc->properties[i];