.set_suspend_disable = rtq2208_set_suspend_disable,
 };
 
+static struct of_regulator_match rtq2208_ldo_match[] = {
+       {.name = "ldo2", },
+       {.name = "ldo1", },
+};
+
 static unsigned int rtq2208_of_map_mode(unsigned int mode)
 {
        switch (mode) {
        return IRQ_HANDLED;
 }
 
-static int rtq2208_of_get_fixed_voltage(struct device *dev,
-                                       struct of_regulator_match *rtq2208_ldo_match, int n_fixed)
+static int rtq2208_of_get_ldo_dvs_ability(struct device *dev)
 {
        struct device_node *np;
        struct of_regulator_match *match;
        if (!np)
                np = dev->of_node;
 
-       ret = of_regulator_match(dev, np, rtq2208_ldo_match, n_fixed);
+       ret = of_regulator_match(dev, np, rtq2208_ldo_match, ARRAY_SIZE(rtq2208_ldo_match));
 
        of_node_put(np);
 
        if (ret < 0)
                return ret;
 
-       for (i = 0; i < n_fixed; i++) {
+       for (i = 0; i < ARRAY_SIZE(rtq2208_ldo_match); i++) {
                match = rtq2208_ldo_match + i;
                init_data = match->init_data;
                rdesc = (struct rtq2208_regulator_desc *)match->driver_data;
        REGULATOR_LINEAR_RANGE(1310000, 181, 255, 10000),
 };
 
-static void rtq2208_init_regulator_desc(struct rtq2208_regulator_desc *rdesc, int mtp_sel,
-                                       int idx, struct of_regulator_match *rtq2208_ldo_match, int *ldo_idx)
+static void rtq2208_init_regulator_desc(struct rtq2208_regulator_desc *rdesc, int mtp_sel, int idx)
 {
        struct regulator_desc *desc;
        static const struct {
 static int rtq2208_parse_regulator_dt_data(int n_regulator, const unsigned int *regulator_idx_table,
                struct rtq2208_regulator_desc *rdesc[RTQ2208_LDO_MAX], struct device *dev)
 {
-       struct of_regulator_match rtq2208_ldo_match[2];
-       int mtp_sel, ret, i, idx, ldo_idx = 0;
+       int mtp_sel, i, idx, ret;
 
        /* get mtp_sel0 or mtp_sel1 */
        mtp_sel = device_property_read_bool(dev, "richtek,mtp-sel-high");
                if (!rdesc[i])
                        return -ENOMEM;
 
-               rtq2208_init_regulator_desc(rdesc[i], mtp_sel, idx, rtq2208_ldo_match, &ldo_idx);
+               rtq2208_init_regulator_desc(rdesc[i], mtp_sel, idx);
 
                /* init ldo dvs ability */
                if (idx >= RTQ2208_LDO2)
        }
 
        /* init ldo fixed_uV */
-       ret = rtq2208_of_get_fixed_voltage(dev, rtq2208_ldo_match, ldo_idx);
+       ret = rtq2208_of_get_ldo_dvs_ability(dev);
        if (ret)
                return dev_err_probe(dev, ret, "Failed to get ldo fixed_uV\n");