return 0;
 }
 
-static int
-qcom_reset_assert(struct reset_controller_dev *rcdev, unsigned long id)
+static int qcom_reset_set_assert(struct reset_controller_dev *rcdev,
+                                unsigned long id, bool assert)
 {
        struct qcom_reset_controller *rst;
        const struct qcom_reset_map *map;
        map = &rst->reset_map[id];
        mask = map->bitmask ? map->bitmask : BIT(map->bit);
 
-       return regmap_update_bits(rst->regmap, map->reg, mask, mask);
+       return regmap_update_bits(rst->regmap, map->reg, mask, assert ? mask : 0);
 }
 
-static int
-qcom_reset_deassert(struct reset_controller_dev *rcdev, unsigned long id)
+static int qcom_reset_assert(struct reset_controller_dev *rcdev, unsigned long id)
 {
-       struct qcom_reset_controller *rst;
-       const struct qcom_reset_map *map;
-       u32 mask;
-
-       rst = to_qcom_reset_controller(rcdev);
-       map = &rst->reset_map[id];
-       mask = map->bitmask ? map->bitmask : BIT(map->bit);
+       return qcom_reset_set_assert(rcdev, id, true);
+}
 
-       return regmap_update_bits(rst->regmap, map->reg, mask, 0);
+static int qcom_reset_deassert(struct reset_controller_dev *rcdev, unsigned long id)
+{
+       return qcom_reset_set_assert(rcdev, id, false);
 }
 
 const struct reset_control_ops qcom_reset_ops = {