[lm-sensors] [PATCH] i2c: add support for MAX1618 in MAX1619 driver
Andrew Morton
akpm at linux-foundation.org
Mon Sep 29 00:42:27 CEST 2008
> On Sun, 28 Sep 2008 18:02:40 +0200 Jean Delvare <khali at linux-fr.org> wrote:
> > +static int TEMP_FROM_REG(int val)
> > +{
> > + return ((val & 0x80 ? val-0x100 : val) * 1000);
> > +}
> > +
> > +static int TEMP_TO_REG(int val)
> > +{
> > + return (val < 0 ? val+0x100*1000 : val) / 1000;
> > +}
> >
> > /*
> > * Functions declaration
> > _
> >
> > text data bss dec hex filename
> > before: 3927 1148 28 5103 13ef drivers/hwmon/max1619.o
> > after: 3743 1148 28 4919 1337 drivers/hwmon/max1619.o
> >
> >
> > That's a 6% reduction in the number of instructions in the whole driver!
> >
> > Not only that, it generates nicer-to-read code and it fixes the bugs
> > which will occur if someone calls one of these macros with an
> > expression which has side-effects.
> >
> >
> > Macros suck, suck, suck, suck and the kernel is just littered with the
> > stupid things in places where they were completely unnecessary.
>
> I totally support this change. We are trying to get rid of these macros
> in all hwmon drivers but there are still a number drivers that had not
> been cleaned up. One down, thanks.
>
> I'm taking this patch in my hwmon tree. I've added a proper summary and
> fixed checkpatch warnings.
Fair enough, thanks. However there's no reason now for those functions
to have upper-case names. Perhaps you changed that as well.
More information about the lm-sensors
mailing list