On Mon, Apr 13, 2015 at 7:08 PM, Daniel Kolesa <dan...@octaforge.org> wrote:
> On Mon, Apr 13, 2015 at 11:02 AM, Daniel Kolesa <d.kol...@samsung.com> > wrote: > > > q66 pushed a commit to branch master. > > > > > > > http://git.enlightenment.org/core/enlightenment.git/commit/?id=4389030678cd44989825eda7b0c7a3b2fa0c9cbc > > > > commit 4389030678cd44989825eda7b0c7a3b2fa0c9cbc > > Author: Daniel Kolesa <d.kol...@samsung.com> > > > > Oops, sorry, it set me as author here because the guy doesn't have his git > config right. Gotta check next time... > > D5 > Actually it's not really his fault, as you said yourself on phab. Conrad is using patch files and Phabricator strips author info. Dunno if Phab should be updated or if that's still a bug on their side. Reading through their open tickets it looks a bit like they don't actually care much (as the parent commit-id seems to be the only important info). Better use Arcanist... > > > Date: Mon Apr 13 11:02:33 2015 +0100 > > > > tempget: Add more temperature sources for FreeBSD > > > > Summary: > > Not all motherboards have 'hw.acpi.thermal.tz0.temperature' sensor. > > Fallback to 'dev.cpu.0.temperature' (provided by coretemp(4) or > > amdtemp(4)), or 'dev.aibs.0.temp.0' (aibs(4)) (per suggestion of > Dmitry > > Luhtionov). > > > > Test Plan: Ran `src/modules/temperature/tempget` manually with some > > debugging printfs and various sensors commented out. I can only test tz0 > > and dev.cpu (coretemp(4)) on my system. > > > > Reviewers: zmike, q66 > > > > Reviewed By: q66 > > > > Subscribers: seoz > > > > Projects: #enlightenment-git > > > > Differential Revision: https://phab.enlightenment.org/D2335 > > --- > > src/modules/temperature/tempget.c | 44 > > +++++++++++++++++++++++++++++---------- > > 1 file changed, 33 insertions(+), 11 deletions(-) > > > > diff --git a/src/modules/temperature/tempget.c > > b/src/modules/temperature/tempget.c > > index b033341..a2e05a2 100644 > > --- a/src/modules/temperature/tempget.c > > +++ b/src/modules/temperature/tempget.c > > @@ -6,6 +6,7 @@ > > #ifdef __FreeBSD__ > > # include <sys/types.h> > > # include <sys/sysctl.h> > > +# include <errno.h> > > #endif > > > > #ifdef __OpenBSD__ > > @@ -28,7 +29,17 @@ static int cur_poll_interval = 32; > > > > static char *sensor_path = NULL; > > #if defined (__FreeBSD__) || defined (__OpenBSD__) > > -static int mib[5]; > > +static int mib[CTL_MAXNAME]; > > +#endif > > +#ifdef __FreeBSD__ > > +static unsigned miblen; > > +static const char *sources[] = > > + { > > + "hw.acpi.thermal.tz0.temperature", > > + "dev.cpu.0.temperature", > > + "dev.aibs.0.temp.0", > > + NULL > > + }; > > #endif > > > > #ifdef __OpenBSD__ > > @@ -95,7 +106,9 @@ init(void) > > Eina_List *therms; > > char path[PATH_MAX]; > > #ifdef __FreeBSD__ > > + unsigned i; > > size_t len; > > + int rc; > > #endif > > > > if ((!sensor_type) || ((!sensor_name) || (sensor_name[0] == 0))) > > @@ -103,9 +116,16 @@ init(void) > > E_FREE(sensor_name); > > E_FREE(sensor_path); > > #ifdef __FreeBSD__ > > - /* TODO: FreeBSD can also have more temperature sensors! */ > > - sensor_type = SENSOR_TYPE_FREEBSD; > > - sensor_name = strdup("tz0"); > > + for (i = 0; sources[i]; i++) > > + { > > + rc = sysctlbyname(sources[i], NULL, NULL, NULL, 0); > > + if (rc == 0) > > + { > > + sensor_type = SENSOR_TYPE_FREEBSD; > > + sensor_name = strdup(sources[i]); > > + break; > > + } > > + } > > #elif __OpenBSD__ > > mib[0] = CTL_HW; > > mib[1] = HW_SENSORS; > > @@ -270,11 +290,13 @@ init(void) > > > > case SENSOR_TYPE_FREEBSD: > > #ifdef __FreeBSD__ > > - snprintf(path, sizeof(path), > > "hw.acpi.thermal.%s.temperature", > > - sensor_name); > > - sensor_path = strdup(path); > > - len = 5; > > - sysctlnametomib(sensor_path, mib, &len); > > + len = sizeof(mib) / sizeof(mib[0]); > > + rc = sysctlnametomib(sensor_name, mib, &len); > > + if (rc == 0) > > + { > > + miblen = len; > > + sensor_path = strdup(sensor_name); > > + } > > #endif > > break; > > > > @@ -394,8 +416,8 @@ check(void) > > > > case SENSOR_TYPE_FREEBSD: > > #ifdef __FreeBSD__ > > - len = sizeof(temp); > > - if (sysctl(mib, 5, &ftemp, &len, NULL, 0) != -1) > > + len = sizeof(ftemp); > > + if (sysctl(mib, miblen, &ftemp, &len, NULL, 0) == 0) > > { > > temp = (ftemp - 2732) / 10; > > ret = 1; > > > > -- > > > > > > > > ------------------------------------------------------------------------------ > BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT > Develop your own process in accordance with the BPMN 2 standard > Learn Process modeling best practices with Bonita BPM through live > exercises > http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- > event?utm_ > source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF > _______________________________________________ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > -- Jean-Philippe André ------------------------------------------------------------------------------ BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own process in accordance with the BPMN 2 standard Learn Process modeling best practices with Bonita BPM through live exercises http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel