Hi Stefano, > On 14/09/2012 17:40, Lukasz Majewski wrote: > > Support for MUIC (Micro USB Integrated Circuit) built into the > > MAX8997 power management device. > > > > The MUIC device will work with redesigned PMIC framework. > > > > Signed-off-by: Lukasz Majewski <l.majew...@samsung.com> > > Signed-off-by: Kyungmin Park <kyungmin.p...@samsung.com> > > Cc: Stefano Babic <sba...@denx.de> > > --- > > Hi Lukasz, > > > drivers/misc/Makefile | 1 + > > drivers/misc/muic_max8997.c | 80 > > ++++++++++++++++++++++++++++++++++++++++++ > > include/power/max8997_muic.h | 61 > > ++++++++++++++++++++++++++++++++ include/power/power_chrg.h | > > 1 + 4 files changed, 143 insertions(+), 0 deletions(-) create mode > > 100644 drivers/misc/muic_max8997.c create mode 100644 > > include/power/max8997_muic.h > > > > I see now with this patch, but we have a mix between drivers/misc and > drivers/power. I think this was done because the power directory was > introduced later, but really all pmics under drivers/misc should be > moved into drivers/power.
Yes, I agree about that. PMIC (or in the future POWER) related code shall be moved to drivers/power/{subdir_per_PMIC_device} Please also keep in mind, that I plan to rename the "pmic" command/framework to "power" to better reflect its purpose. > > Maybe belong this one also to drivers/power ? > > You added several "add-ons" for MAX8997. Maybe it is clearer if > everything goes into a separate directory, such as power/max8997/ Very good idea. I've already proposed a little "cleanup" with putting all power related includes to ./include/power/ directory. > > > diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile > > index 271463c..f08a800 100644 > > --- a/drivers/misc/Makefile > > +++ b/drivers/misc/Makefile > > @@ -41,6 +41,7 @@ COBJS-$(CONFIG_PMIC_I2C) += pmic_i2c.o > > COBJS-$(CONFIG_PMIC_SPI) += pmic_spi.o > > COBJS-$(CONFIG_PMIC_MAX8998) += pmic_max8998.o > > COBJS-$(CONFIG_PMIC_MAX8997) += pmic_max8997.o > > +COBJS-$(CONFIG_POWER_MUIC_MAX8997) += muic_max8997.o > > > > COBJS := $(COBJS-y) > > SRCS := $(COBJS:.o=.c) > > diff --git a/drivers/misc/muic_max8997.c > > b/drivers/misc/muic_max8997.c new file mode 100644 > > index 0000000..d332c09 > > --- /dev/null > > +++ b/drivers/misc/muic_max8997.c > > @@ -0,0 +1,80 @@ > > +/* > > + * Copyright (C) 2012 Samsung Electronics > > + * Lukasz Majewski <l.majew...@samsung.com> > > + * > > + * See file CREDITS for list of people who contributed to this > > + * project. > > + * > > + * This program is free software; you can redistribute it and/or > > + * modify it under the terms of the GNU General Public License as > > + * published by the Free Software Foundation; either version 2 of > > + * the License, or (at your option) any later version. > > + * > > + * This program is distributed in the hope that it will be useful, > > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > > + * GNU General Public License for more details. > > + * > > + * You should have received a copy of the GNU General Public > > License > > + * along with this program; if not, write to the Free Software > > + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, > > + * MA 02111-1307 USA > > + */ > > + > > +#include <common.h> > > +#include <power/pmic.h> > > +#include <power/power_chrg.h> > > +#include <power/max8997_muic.h> > > +#include <i2c.h> > > + > > +int power_muic_init(unsigned int bus) > > You add a different function to initialize it, but this is a version > opf pmic_init(). Why cannot we consider this one as all other pmics, > avoiding to introduce new and undocumented functions ? > > If I do not misunderstand, you use the different functions to select > the pmic. In other words, calling power_update_battery() in the trats > code selects automatically the fulel-gauge, because this code > implements this function. But this is against the goal of your > patches, that is to add multi instances of the pmics (and maybe a > second instance of fuel_gauge..). > > I think this should be solved moving this function to the general API > and calling it via pointer. For example, something like: > > p = pmic_get("MAX_8997); > p->read(...); > > p = pmic_get("MAX17042_FG"); > p->power_update_battery(..); > > What do you think ? I will think about that and give you an answer. > > Best regards, > Stefano Babic > > Regards, Lukasz _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot