Messages in this thread | | | From | Peter Feuerer <> | Subject | Re: [Patch] acerhdf: Return temperature in milidegree | Date | Mon, 19 Oct 2009 23:24:47 +0200 |
| |
Hi Andreas,
thank you very much for your brainstorming.
Andreas Mohr writes:
> Hi, > > On Mon, Oct 19, 2009 at 10:21:16AM +0200, Peter Feuerer wrote: >> >> Hi Boris, >> >> what do you think about this patch? > > Personally I'm hurting a bit due to the open-coded "* 1000" transition > in all places. > > I'd add a helper macro > #define TEMP_DEGREE_TO_SYS(x) ((x) * 1000) > and use that in all places where it matters. > > Advantage: > - either no mistyping (10000 instead of 1000) _or_ bug occurring in _all_ > places where this macro is used > - easily grepped-for > - easily changed once the system granularity gets updated
I agree with you in these points, but I have also some disadvantages to discuss:
Disadvantages: - Thinking about the implemenation such a macro would require, users may get confused. They would still set the fanon / fanoff trip points in degree, but when they read documentation or the current temperature, millidegree is used. - I think "TEMP_DEGREE_TO_SYS(59)" in code is not as good readable as "59000"
what about writing something like "59 * 1000" insead of "59000"?
Or something like that:
#define FACTOR_MILLIDEGREE 1000 59 * FACTOR_MILLIDEGREE
this solution has all your listed advantages and eliminates the disadvantages I see in the "TEMP_DEGREE_TO_SYS" solution.
--peter
| |