Re: [PATCH 2/2] regulator: tps80031: add regulator driver for tps80031

From: Laxman Dewangan
Date: Mon Nov 05 2012 - 07:01:58 EST


Thanks for quickest review.

On Monday 05 November 2012 04:12 PM, Mark Brown wrote:
* PGP Signed by an unknown key

On Mon, Nov 05, 2012 at 03:14:18PM +0530, Laxman Dewangan wrote:

+ switch (ri->device_flags) {
+ case 0:
Should we be using different versions of the ops depending on the device
flags rather than having these switches? It seems like we can't change
at runtime and it would make the code a lot simpler.

I have single dcdc ops for all DCDC VIO, SMPS1 to 3.
There is different configuration bit for selecting any DCDC to normal, extended or offset. As this ops are share, I can not change the callbacks.
However, I rewrite this apis using tables and equation to reduce code size.


Why the + 1 (and - 1 in the get()). I'd expect we can just use the
register value directly as a selector.

The device sets vout = 0 if vsel = 0 and then equation talk about the Vmin + vsel * step.
I exported the Vout minimum as Vmin for sel = 0 and hence this is there.

I will export this in true equation in my next patch.

+ if (!(ri->config_flags& VBUS_SW_ONLY)) {
+ dev_err(&rdev->dev, "%s() is not supported with flag 0x%08x\n",
+ __func__, ri->config_flags);
+ return -EIO;
+ }
Same as the device flags above - we should this be set by changing the
ops when we register?

Ok, so I will have two ops, hw (empty) and sw(implemented). If sw is selected then only sw ops will get initialized and so it will not need any checks.

--
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/