On Fri, Feb 14, 2014 at 03:32:31PM +0900, Milo Kim wrote: > LM3631 regulator driver has 5 regulators. > One boost output and four LDOs are used for the display module. > Boost voltage is configurable but always on. > Supported operations for LDOs are enabled/disabled and voltage change. This looks basically good, a couple of minor nits below but nothing substantial. > +static const int lm3631_boost_vtbl[] = { > + 4500000, 4550000, 4600000, 4650000, 4700000, 4750000, 4800000, 4850000, > + 4900000, 4950000, 5000000, 5050000, 5100000, 5150000, 5200000, 5250000, > + 5300000, 5350000, 5400000, 5450000, 5500000, 5550000, 5600000, 5650000, > + 5700000, 5750000, 5800000, 5850000, 5900000, 5950000, 6000000, 6050000, > + 6100000, 6150000, 6200000, 6250000, 6300000, 6350000, > +}; This looks like a linear range so could use the linear range helpers (4.5-6.35V in steps of 0.05V)? Similarly for the LDO. > +static struct of_regulator_match lm3631_regulator_matches[] = { > + { .name = "vboost", .driver_data = (void *)LM3631_BOOST, }, > + { .name = "vcont", .driver_data = (void *)LM3631_LDO_CONT, }, > + { .name = "voref", .driver_data = (void *)LM3631_LDO_OREF, }, > + { .name = "vpos", .driver_data = (void *)LM3631_LDO_POS, }, > + { .name = "vneg", .driver_data = (void *)LM3631_LDO_NEG, }, > +}; These names don't correspond to what was in the binding document and there's a couple of extra LDOs.