Re: [PATCH v4 4/5] hwmon: (pmbus) Add support for MaximMAX34440/MAX34441

From: Guenter Roeck
Date: Fri Feb 25 2011 - 16:34:26 EST


Hi Jonathan,

On Fri, 2011-02-25 at 15:42 -0500, Jonathan Cameron wrote:
> One trivial formatting nitpick.
> Dug out datasheet for this one..
> I'm a little unclear how value from there map to those stored in here...
[ ... ]

> > +static struct pmbus_driver_info max34440_info[] = {
> > + [max34440] = {
> > + .pages = 14,
> > + .direct[PSC_VOLTAGE_IN] = true,
> > + .direct[PSC_VOLTAGE_OUT] = true,
> > + .direct[PSC_TEMPERATURE] = true,
> > + .direct[PSC_CURRENT_OUT] = true,
> > + .m[PSC_VOLTAGE_IN] = 1,
> > + .b[PSC_VOLTAGE_IN] = 0,
> > + .R[PSC_VOLTAGE_IN] = 3,
> > + .m[PSC_VOLTAGE_OUT] = 1,
> > + .b[PSC_VOLTAGE_OUT] = 0,
> > + .R[PSC_VOLTAGE_OUT] = 3,
> > + .m[PSC_CURRENT_OUT] = 1,
> > + .b[PSC_CURRENT_OUT] = 0,
> > + .R[PSC_CURRENT_OUT] = 3,
> Table 3 of datasheet says R for current is 0... I may be missing
> something though!

At least this one has a relatively simple reason ;).

The base unit (to which R is applied to) in the datasheet is mV and mA.
The base unit used by max8688 and max16064 is V and A. Chips in linear
mode also use V and A. I had the choice of either adjusting the code to
expect mV and mA for all chips, or to expect V and A for all chips. I
decided to use the latter for consistency, and to adjust R in the core
driver to the units expected to be reported in the sysfs attributes. For
max34440/max34441, the adjustment ends up being 0 either way (3 + (-3)
in one direction and (-3) + 3 in the other).

Another option would be to not do any sysfs related adjustments in the
core driver, but to do all adjustments via platform data instead. I
decided against that because the code to handle linear mode (which
expects V and A) would no longer match the code to handle direct mode,
which might cause even more confusion.

Thanks,
Guenter


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/