Method (_BIF, 0, /*Not*/Serialized) /* Battery Information */
{
Name (T_2, Zero)
Name (T_1, Zero)
Name (T_0, Zero)
Store ("BIF0", Debug)
Acquire (^^PCI0.LPCB.EC0.MUT0, 0xFFFF)
Store (^^PCI0.LPCB.EC0.DCP0, Index (PAK0, One))
Store (^^PCI0.LPCB.EC0.FCP0, Local0)
Store (Local0, Index (PAK0, 0x02))
Store (^^PCI0.LPCB.EC0.DVT0, Index (PAK0, 0x04))
Store (^^PCI0.LPCB.EC0.DNN0, Local1)
Store (^^PCI0.LPCB.EC0.BSN0, Local2)
Store (^^PCI0.LPCB.EC0.BCN0, Local3)
Store (^^PCI0.LPCB.EC0.MNN0, Local4)
Release (^^PCI0.LPCB.EC0.MUT0)
Store (Divide (Local0, 0x0A, ), Index (PAK0, 0x05))
Store (Zero, Index (PAK0, 0x06))
Store (ToInteger (Local1), T_0)
If (LEqual (T_0, Zero))
{
Store ("Unknow", Index (PAK0, 0x09))
}
Else
{
If (LEqual (T_0, 0xFF))
{
Store ("Dell", Index (PAK0, 0x09))
}
}
Store (ITOS (ToBCD (Local2)), Index (PAK0, 0x0A))
Store (ToInteger (Local3), T_1)
If (LEqual (T_1, Zero))
{
Store ("Unknow", Index (PAK0, 0x0B))
}
Else
{
If (LEqual (T_1, One))
{
Store ("PBAC", Index (PAK0, 0x0B))
}
Else
{
If (LEqual (T_1, 0x02))
{
Store ("LION", Index (PAK0, 0x0B))
}
Else
{
If (LEqual (T_1, 0x03))
{
Store ("NICD", Index (PAK0, 0x0B))
}
Else
{
If (LEqual (T_1, 0x04))
{
Store ("NIMH", Index (PAK0, 0x0B))
}
Else
{
If (LEqual (T_1, 0x05))
{
Store ("NIZN", Index (PAK0, 0x0B))
}
Else
{
If (LEqual (T_1, 0x06))
{
Store ("RAM", Index (PAK0, 0x0B))
}
Else
{
If (LEqual (T_1, 0x07))
{
Store ("ZNAR", Index (PAK0, 0x0B))
}
Else
{
If (LEqual (T_1, 0x08))
{
Store ("LIP", Index (PAK0, 0x0B))
}
}
}
}
}
}
}
}
}
Store (ToInteger (Local4), T_2)
If (LEqual (T_2, Zero))
{
Store ("Unknow", Index (PAK0, 0x0C))
}
Else
{
If (LEqual (T_2, One))
{
Store ("Dell", Index (PAK0, 0x0C))
}
Else
{
If (LEqual (T_2, 0x02))
{
Store ("SONY", Index (PAK0, 0x0C))
}
Else
{
If (LEqual (T_2, 0x03))
{
Store ("SANYO", Index (PAK0, 0x0C))
}
Else
{
If (LEqual (T_2, 0x04))
{
Store ("PANASONIC", Index (PAK0, 0x0C))
}
Else
{
If (LEqual (T_2, 0x05))
{
Store ("SONY_OLD", Index (PAK0, 0x0C))
}
Else
{
If (LEqual (T_2, 0x06))
{
Store ("SDI", Index (PAK0, 0x0C))
}
Else
{
If (LEqual (T_2, 0x07))
{
Store ("SIMPLO", Index (PAK0, 0x0C))
}
Else
{
If (LEqual (T_2, 0x08))
{
Store ("MOTOROLA", Index (PAK0, 0x0C))
}
Else
{
If (LEqual (T_2, 0x09))
{
Store ("LGC", Index (PAK0, 0x0C))
}
}
}
}
}
}
}
}
}
}
Return (PAK0)
}