Messages in this thread | | | Subject | Re: [PATCH 3/4] regulator: add voltage selection capability to mc13783 regulators. | From | Alberto Panizzo <> | Date | Mon, 14 Dec 2009 11:41:38 +0100 |
| |
Il giorno dom, 13/12/2009 alle 21.01 +0100, Uwe Kleine-König ha scritto: > On Sat, Dec 12, 2009 at 05:56:16PM +0100, Alberto Panizzo wrote: > > This patch, complete the mc13783 regulator subsystem driver with > > voltage selecting capability. > > Main Switches (SW1AB, SW2AB) are not supported yet. > > > > Signed-off-by: Alberto Panizzo <maramaopercheseimorto@gmail.com> > > --- > > drivers/regulator/mc13783-regulator.c | 375 ++++++++++++++++++++++++++++++--- > > 1 files changed, 348 insertions(+), 27 deletions(-) > > > > diff --git a/drivers/regulator/mc13783-regulator.c b/drivers/regulator/mc13783-regulator.c > > index 9f99862..ed78137 100644 > > --- a/drivers/regulator/mc13783-regulator.c > > +++ b/drivers/regulator/mc13783-regulator.c > > @@ -2,6 +2,7 @@ > > * Regulator Driver for Freescale MC13783 PMIC > > * > > * Copyright (C) 2008 Sascha Hauer, Pengutronix <s.hauer@pengutronix.de> > > + * Copyright 2009 Alberto Panizzo <maramaopercheseimorto@gmail.com> > > * > > * This program is free software; you can redistribute it and/or modify > > * it under the terms of the GNU General Public License version 2 as > > @@ -18,9 +19,47 @@ > > > > #define MC13783_REG_SWITCHERS4 28 > > #define MC13783_REG_SWITCHERS4_PLLEN (1 << 18) > > +#define MC13783_REG_SWITCHERS4_PLLVSEL (1 << 19) > > +#define MC13783_REG_SWITCHERS4_PLLVSEL_M (7 << 19) > > > > #define MC13783_REG_SWITCHERS5 29 > > #define MC13783_REG_SWITCHERS5_SW3EN (1 << 20) > > +#define MC13783_REG_SWITCHERS5_SW3VSEL 18 > This looks inconsitent: > MC13783_REG_SWITCHERS4_PLLVSEL (1 << 19) > MC13783_REG_SWITCHERS5_SW3VSEL 18 > > I didn't check the rest of the patch though it would be great if you > wouldn't need all those arrays as they occupy much memory. > > Best regards > Uwe >
Yes this is a mistake and.. I'm not sure to embrace SWITCHERS4_PLL in the regulators stuff at all. The code that I propose can enable/disable and set the multiplication factor for the PLL but this is not a voltage regulator!
Maybe the PLL must be initialised and controlled via another driver, in the audio codec?
For the arrays, also for me it is not the better code that I wrote but voltages values have no regular stepping and this way is a great self explain way. Look at tables 4-18 and 4-19 of the mc13783 information for GPL drivers..
The other ways are: - Compress arrays in different phases, with complex initialisation. - Write as many function as different regulators there are, increasing the driver complexity and also the text instead of data memory..
Sure, I have to correct all the coding style issues asserted by Mark!
Alberto.
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |