[ltp] Re: [ANN] tp_smapi - a new Linux SMAPI driver

Volker Gropp linux-thinkpad@linux-thinkpad.org
Mon, 5 Dec 2005 02:47:42 +0100


* On Mon, Dec 05, 2005 at 03:24:14 +0200, Shem Multinymous wrote:

> Hi Volker,
> 
> On 12/5/05, volker gropp <vgropp@pefra.de> wrote:
> 
> > > Does the original version compile if you add
> > >  #include <linux/device.h>
> > > ?
> >
> > No, it doesnt. But maybe thats a suspend2 issue.
> 
> Works fine with 2.6.14.3+suspend2, but it looks like 2.6.15-rc3 has
> stripped out the whole concept of suspend levels in 2.6.15-rc3. Any
> idea why? I'll fix that in the next version.

not really, but havent followed kernel discussion lately. If its really
a 2.6.15 issue only, a simple #if KERNEL_VERSOIN should be enough.
What i missed mentioning earlier, even with my patch, i get the
following warnings on compile:
/usr/src/tp_smapi-0.02/tp_smapi.c:393: warning: initialization from incompatible pointer type
/usr/src/tp_smapi-0.02/tp_smapi.c:395: warning: initialization from incompatible pointer type

Had no time yet to look what exactly is wrong, especially the module
wasnt working at all here, yet.

> > > > What exactly are we looking for, and how to look defined functions up?
> > >
> > > Try "objdump -x TPPWRW32.DLL". It has many exported functions, and the
> > > name should give you an idea about the capabilities supported by your
> > > software version. The implementation is split between TPPWRW32.DLL or
> > > PWRMGRIF.DLL, which contain the logic and function-specific code, and
> > > a device driver (TPPWRIF.SYS here) which executes the SMAPI code. We
> > > have the latter pretty much covered, but the former is a big mystery.
> >
> > You can find the objdump output at http://www.gropp.org/TPPWRW32.DLL.exports
> > For me SM_GetInhibitChargeStatus and SM_SetChargeCapacityThreshold looks
> > interesting.
> 
> Good, but I can't add support for that without knowing what SMAPI
> functions they use, and I don't have an X40. You'll have to take it
> from here by the means suggested earlier.

I know, though i dont have experience in Windows Debugging yet. Ill try
to get into that next days, or maybe someone else jumps in. I wonder if
every model is handled differently, or if its a generation thing.

Volker Gropp