[lm-sensors] PATCH: add support for lm_sensors 3.0.0 to gkrellm
Hans de Goede
j.w.r.degoede at hhs.nl
Sun Oct 28 15:23:23 CET 2007
Jean Delvare wrote:
> Hi Hans,
>
> On Sun, 28 Oct 2007 11:26:48 +0100, Hans de Goede wrote:
>> For those interested. I've made the patch so that gkrellm can be compiled
>> against the new version (or the old) and so that the identification strings of
>> the sensors do not change and thus old gkrellm configs will continue to work as is.
>
> Random comments:
>
>> + snprintf(sensor_path, sizeof (sensor_path), "%s:%s",
>> + name->prefix, name->path ? name->path : "NULL");
>
> name->path can't actually be NULL. BTW, I wonder why you need
> name->path at all. This is meant for libsensors internal use,
> applications shouldn't care about it. Also note that the path is not
> guaranteed to be consistent across reboots.
>
gkrellm used todo all reading of sysfs files (and other type of info like ibm
acpi) itself, it has an interface for this where the read_method for a sensors
"driver" (for example direct /sysfs access, libsensors, hddtemp deamon, ...)
gets passed 1 string and 2 ints. The above and below code is a way of
shoehorning libsensors chip_name struct into one string and one int (the second
int is used for the feature number).
>> + /* failsafe tests, will bus type and nr fit in 8 bits
>> + signed and addr fit in 16 bits signed ?
>> + */
>
> Unfortunately not: for SPI, the bus number can require 16 bits. It's
> due to the weird way spi-core uses to number buses dynamically, it
> should really be addressed someday, but at the moment it isn't.
>
UGH, how often does this happen? Note that currently gkrellm will simply skip
sensors for which the bus number > 8 bits. I've noticed that the pointers
returned by: sensors_get_detected_chips are constant between calls to
sensors_init() and sensors_cleanup(), so I could change the shoehorning to put
a pointer to the chipname in hex format into the string (on 64 bit it won't fit
into an int) but that feels really really dirty!
>> I've also send this upstream, and its available here:
>> http://people.atrpms.net/~hdegoede/gkrellm-2.3.0-libsensors4.patch
>
> Note that I've stopped referring to "libsensors4" after I realized it
> could cause confusion. While the binary file will be named
> "libsensors.so.4", the library version will be advertised as
> "libsensors 3.0.0". So for example I've renamed the xsensors patch to:
>
> xsensors-0.60-libsensors-3.patch
>
> And I suggest that you do the same. The soname is an internal detail
> end users don't even need to know.
>
Okay, I got the nomenclature from you, I'll stop using it now.
>> The later is to be able to put up a link on the download page for the 3.0.0
>> RC's from the wiki, I haven't done this yet as this patch will not work with
>> rc2, it requires current svn.
>
> rc3 is released now, so you could proceed. However you'll need special
> permissions to edit the Download page. So I can either grant you these
> permissions if you want, or I can add the link for you if you prefer.
>
Either way is fine with me, but I'll probably be doing more patches as time
permits and I would like to put those on the wiki too, so I guess having
editing rights is the easiest in the end.
Regards,
Hans
More information about the lm-sensors
mailing list