[U-Boot] [PATCH 01/27] Blackfin: bfin_mac: force board_get_enetaddr() usage
Mike Frysinger
vapier at gentoo.org
Thu Jan 29 07:16:55 CET 2009
On Thursday 29 January 2009 01:01:41 Ben Warren wrote:
> Mike Frysinger wrote:
> > On Thursday 29 January 2009 00:43:31 Ben Warren wrote:
> >> Mike Frysinger wrote:
> >>> --- a/drivers/net/bfin_mac.c
> >>> +++ b/drivers/net/bfin_mac.c
> >>>
> >>> eth_register(dev);
> >>>
> >>> + ethaddr = getenv("ethaddr");
> >>> +#ifndef CONFIG_ETHADDR
> >>
> >> I know this was there before, but CONFIG_ETHADDR is kinda deprecated.
> >> We don't allow it in in-tree config files, so as far as I'm concerned we
> >> should pretend it doesn't exist. Boards should get their MAC address
> >> from an EEPROM or from the environment.
> >
> > that's news to me. i see no mention of deprecation in the README file
> > (quite the opposite ... looks fully supported there), and i see a ton of
> > board configs defining it:
> > $ grep 'CONFIG_ETH.*ADDR' include/configs/*.h | wc -l
> > 257
> >
> > so what's up ?
>
> Hence the 'kinda'. It's one of those things that doesn't make sense
> (MAC addresses are supposed to be unique, so why would you hard code?)
> and for at least the past year we've been rejecting config files that
> use it.
if that's the case, shouldnt we at least mark the README as "these options are
discouraged / deprecated" ?
i dont have a problem removing the ifndef here as it accomplishes two things:
- no board_get_enetaddr() reference
- slightly smaller code
it will break a Blackfin platform or two, but i can fix them up pretty easily.
> >>> + if (ethaddr == NULL) {
> >>> + char nid[20];
> >>> + board_get_enetaddr(bd->bi_enetaddr);
> >>> + sprintf(nid, "%02X:%02X:%02X:%02X:%02X:%02X",
> >>
> >> How about snprintf()
> >
> > when would the limit actually be violated ? bi_enetaddr is unsigned char
> > which means it is impossible for it to be represented as more than two
> > chars. so storage would always be exactly 2 * 6 + 5 + 1 (17 bytes).
>
> You're right, not a strong opinion on my part. I guess I've been beaten
> to submission by Coverity at work and so always use the 'n' functions.
i have no problem with proactive coding when it makes sense, but i hate some
of the BSD-ish policies where they try and cram the "n" versions down your
throat all the time.
-mike
More information about the U-Boot
mailing list