...
I have only one question. There is already a kext in S/L/E called AppleSmartBatteryManager.kext. I am using kernel cache on Lion, so I had to move all my kexts to S/L/E . Is there a way to install this kext without removing the vanilla one? Not that it is a big deal, but since it is a vanilla driver, it might be overridden by future updates.
Thank you again.
Maybe

If you can do without iStat and similar tools that are hard coded to the class name in the IORegistery, just use the legacy named kext that will not collide, otherwise its a similar problem to the good old DLL HELL issue on Windows

I also realize this thread is more geared towards HP laptop users. I'm on an Asus M60J notebook. However, just for the fun of it, without doing any battery dsdt edits, I tried your kext with UseExtendedBatteryInformationMethod set to false for ACPI 3.x. Interestingly, all the battery information displays including battery voltage and amps. Expectedly, some of the values are off and it can't compute remaining percentages and time, but amazing that I have this much showing without doing any battery dsdt adaptations for Asus.
That's the great thing about standards... when everyone codes to the standard from the hardware up though to the OS level, stuff just magically works together
My guess is that with a little DSDT work, you can get it all working.
The dsdt edits (especially the latest updated ones) have enabled the battery status display on my Asus n81v in Lion, but I am guessing the kexts in this thread are only for HP systems since they only give me a 0% status on all 4 (both debug and release).
This driver will work with any ACPI 3/4 compliant system that returns the data structures as defined in the specification for _BIF (of _BIX) and _BST. The only HP specific stuff in this thread is the DSDT code that implements the ACPI _BIF, _BIX and _BST methods.
*You* have to figure out what your Asus provides from the battery and get your methods to return this data in your DSDT methods. Once you do, the driver will correctly pass it to the OS.