lkml.org 
[lkml]   [2009]   [Dec]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v7 5/8] Loongson: YeeLoong: add hardware monitoring driver
    Hi!

    > +static int get_cpu_temp(void)
    > +{
    > + int value;
    > +
    > + value = ec_read(REG_TEMPERATURE_VALUE);
    > +
    > + if (value & (1 << 7))
    > + value = (value & 0x7f) - 128;
    > + else
    > + value = value & 0xff;

    wtf?

    Maybe value should be 's8'?

    > +static int get_battery_current(void)
    > +{
    > + int value;
    > +
    > + value = (ec_read(REG_BAT_CURRENT_HIGH) << 8) |
    > + (ec_read(REG_BAT_CURRENT_LOW));
    > +
    > + if (value & 0x8000)
    > + value = 0xffff - value;

    Another version of pair-complement conversion; this one is broken --
    off by 1.

    > +static int parse_arg(const char *buf, unsigned long count, int *val)
    > +{
    > + if (!count)
    > + return 0;
    > + if (sscanf(buf, "%i", val) != 1)
    > + return -EINVAL;
    > + return count;
    > +}

    We have strict_strtoul for a reason...

    Pavel
    --
    (english) http://www.livejournal.com/~pavelmachek
    (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html


    \
     
     \ /
      Last update: 2009-12-04 15:47    [W:4.461 / U:0.592 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site