Messages in this thread | | | Date | Thu, 14 May 2009 10:57:01 +0100 | From | Mark Brown <> | Subject | Re: [PATCH] LP3971 PMIC regulator driver |
| |
On Thu, May 14, 2009 at 09:33:40AM +0200, Marek Szyprowski wrote: > This patch adds regulator drivers for National Semiconductors LP3971 PMIC. > This LP3971 PMIC controller has 3 DC/DC voltage converters and 5 low drop-out > (LDO) regulators. LP3971 PMIC controller uses I2C interface. > > Reviewed-by: Kyungmin Park <kyungmin.park@samsung.com> > Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
This looks basically good, a few comments below but personally I'd be inclined to merge this as-is and deal with the remaining issues as separate patches so:
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
It'd be good to also implement list_voltage().
> +static int lp3971_dcdc_get_voltage(struct regulator_dev *dev) > +{ > + struct lp3971 *lp3971 = rdev_get_drvdata(dev); > + int buck = rdev_get_id(dev) - LP3971_DCDC1; > + u16 reg; > + int val; > + > + reg = lp3971_reg_read(lp3971, LP3971_BUCK_TARGET_VOL1_REG(buck)); > + reg &= BUCK_TARGET_VOL_MASK; > + > + if (reg <= BUCK_TARGET_VOL_MAX_IDX) > + val = 1000 * buck_voltage_map[reg]; > + else > + val = 0;
I'd expect some kind of warning to be displayed here?
> + /* Detect LP3971 (initial system control 1 reg is '0x60') */ > + ret = lp3971_i2c_read(i2c, LP3971_SYS_CONTROL1_REG, 1, &val); > + if (ret < 0) { > + dev_err(&i2c->dev, "failed to detect device\n"); > + goto err_detect; > + } > +
You don't actually appear to check the value you read back here?
| |