Il Sun, Nov 23, 2008 at 04:23:52PM +0100, Marco Chiappero ha scritto: > > currently I'm not 100% sure of the output of the new > > interface (the user that originally contacted me is not responsive...) > > but the code is almost complete. > > Thierry are you willing to test this _experimental_ driver? > > Well, I'd like to understand how this ACPI interface works (and maybe > write some code), really, but don't know how, where to find > documentation... I'm just reading the DSDT and did a quick check on windows driver to see if it was using the same methods. > However, although I'm quite busy right now, here I am > if you need a tester, sure. > You can start having a look at my attached dsdt.dsl, if you need. Ok, it's similar to my board. The "old style" interface is based on 3 methods for each class of sensors: - enumeration (VSIF for voltage, TSIF for temperature, FSIF for fan) - reading (RVLT/RTMP/RFAN) - setter (SVLT/STMP/SFAN); they can be used to overwrite the label and the limits but it seems that's only cosmetic The new interface is based on 3 generic method: - GGRP for enumeration - GITM is the getter - SITM is the setter Sensors and whatnot are divided into a number of classes, hwmon being 0x6 (and e.g. 0x4 is for Q-FAN, 0x5 is the auto-overclock stuff, etc.) Each data point has an ID (discovered with the enumeration methods) where bytes [0-1] are the ID of the sensor (unique inside the class), byte 2 is type of the sensor (0x2 is a voltage, 0x3 is a temperature, 0x4 is a fan) and byte 3 is the class itself. With the old interface you just the ID as a cookie that gets passed to the correspoding RVLT/RTMP/RFAN (you enumerate each type separately, so you already known which sensor is what). With the new interface you have to parse the IDs returned by GGRP to discover what are the available sensors; then - when you want to read something - you pass the ID to GITM, which uses byte 3 to dispatch the call to a class-specific method; this method in turn uses bytes [0-1] (sensor id) to read the desired value. Note the in your DSDT both interfaces are present, but the new one is just a stub (GITM calls GIT6 for hwmon, and GIT6 does nothing). > [1] By the way, I patched the lm-sensors package too, the compilation > runs fine but "sensors" is still unable to show the atk readings. Hum, anything in dmesg? Anyway I'm attacching the new version (plus patch for ACPI - diffed against git-current, but it's easily adapted to older kernels). Luca -- Il tempo speso a coltivare sogni non ? sprecato. -------------- next part -------------- A non-text attachment was scrubbed... Name: atk.c Type: text/x-csrc Size: 32019 bytes Desc: not available Url : http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20081124/9ad7e76a/attachment.bin -------------- next part -------------- A non-text attachment was scrubbed... Name: acpi.diff Type: text/x-diff Size: 2509 bytes Desc: not available Url : http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20081124/9ad7e76a/attachment-0001.bin