[PATCH 1/3] olpc-battery: add support for CHARGE_FULL_DESIGN

Andres Salomon dilinger at queued.net
Fri Dec 10 19:38:17 EST 2010


On Fri, 10 Dec 2010 22:15:10 +0000
David Woodhouse <dwmw2 at infradead.org> wrote:

> On Fri, 2010-12-10 at 23:05 +0100, Sascha Silbe wrote:
> > 
> > +
> > +       switch (tech.intval) {
> > +       case POWER_SUPPLY_TECHNOLOGY_NiMH:
> > +               switch (mfr) {
> > +               case 1: /* Gold Peak */
> > +                       val->intval = 3000000*.8;
> > +                       break;
> > +               default:
> > +                       return -EIO;
> > +               }
> > +               break;
> > +
> > +       case POWER_SUPPLY_TECHNOLOGY_LiFe:
> > +               switch (mfr) {
> > +               case 1: /* Gold Peak */
> > +                       val->intval = 2800000;
> > +                       break;
> > +               case 2: /* BYD */
> > +                       val->intval = 3100000;
> > +                       break;
> > +               default:
> > +                       return -EIO;
> > +               }
> > +               break;
> > +
> > +       default:
> > +               return -EIO;
> > +       }
> > +
> > +       return ret;
> > +} 
> 
> I don't much like hard-coding it in the kernel. Can the firmware
> expose these values in the device-tree?
> 


It there is, it's not at all clear.  The values are fetched from the
EC, which get them from the EEPROM.  The DT has a battery entry, but it
contains nothing useful:

/proc/device-tree/battery at 0/name
/proc/device-tree/battery at 0/reg
/proc/device-tree/battery at 0/.node

Nor is there anything in the DT related to the battery EEPROM.



More information about the Devel mailing list