Re: [PATCH][RESEND] Cleanup (BIN|BCD)_TO_(BCD|BIN) usage/macros

Tom Rini (trini@kernel.crashing.org)
Tue, 17 Sep 2002 11:49:49 -0700


On Tue, Sep 17, 2002 at 02:39:59PM -0400, Jeff Garzik wrote:
> Tom Rini wrote:
> >Right now there's a bit of a mess with all of the BIN_TO_BCD/BCD_TO_BIN
> >macros in the kernel. It's defined in a half dozen places, and worse
> >yet, not all places use them the same way. Most users do something
> >like:
> >if ( ... )
> > BIN_TO_BCD(x);
> >
> >But in a few places, it's used as:
> >if ( ... )
> > y = BIN_TO_BCD(x);
> >
> >The following creates include/linux/bcd.h which has the 'normal'
> >BIN_TO_BCD macros, as well as CONVERT_{BIN,BCD}_TO_{BCD,BIN},
> >which are for the second case.
>
> hmmm... removing all the private definitions certainly makes good sense,
> but having both CONVERT_foo and foo seems a bit wonky...
>
> IMO it would be better to have BIN_TO_BCD which returns a value, and
> __BIN_TO_BCD which has side effects but returns no value...

Well, this was done in part to minimize change. The version which
returns no value is far more common than the one which does, and would
require changing a lot more files (and would also make getting this into
2.4 harder too, which I would like to do someday if this gets into 2.5).
The other reason is that CONVERT_foo makes it quite obvious what is being
done, where as __xxx at least in my mind has namespace imlpications
(like how it's used in libc, etc. But kernel namespace isn't like the
rest I know..).

-- 
Tom Rini (TR1265)
http://gate.crashing.org/~trini/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/