On Fri, Apr 08, 2016 at 11:47:40AM +0200, Wadim Egorov wrote: > +static const struct regulator_linear_range rk818_buck4_voltage_ranges[] = { > + REGULATOR_LINEAR_RANGE(1800000, 0, 18, 100000), > +}; > + > +static const struct regulator_linear_range rk818_boost_voltage_ranges[] = { > + REGULATOR_LINEAR_RANGE(4700000, 0, 7, 100000), > +}; Why are these done as linear ranges when there's only one range? This just adds overhead, just specify the one range directly in the desc and use the appropriate ops. > + if (rk808->variant == RK808_ID) > + ret = of_regulator_match(dev, np, rk808_reg_matches, > + RK808_NUM_REGULATORS); > + else if (rk808->variant == RK818_ID) > + ret = of_regulator_match(dev, np, rk818_reg_matches, > + RK818_NUM_REGULATORS); Don't use of_regulator_match, just specify the DT names for the regulator in the desc. Also it looks like you're trying to write a switch statement with ifs here, just write a switch statement. It's clearer and less error prone. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 473 bytes Desc: not available URL: <http://lists.infradead.org/pipermail/linux-rockchip/attachments/20160410/87eebb1c/attachment.sig>