From: Michael Walle <michael@walle.cc>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v5 4/5] net: add eth_setenv_enetaddr_by_index()
Date: Thu, 17 May 2012 22:43:00 +0200 [thread overview]
Message-ID: <201205172243.01110.michael@walle.cc> (raw)
In-Reply-To: <CANr=Z=YrfOQcq5EbPVM9EUkbnvN0PX_ASQwtWmx8StydZJcwQA@mail.gmail.com>
Hi Joe,
Am Mittwoch 16 Mai 2012, 02:56:39 schrieb Joe Hershberger:
> Hi Michael,
>
> On Fri, May 11, 2012 at 5:50 PM, Michael Walle <michael@walle.cc> wrote:
> > Signed-off-by: Michael Walle <michael@walle.cc>
> > Cc: Joe Hershberger <joe.hershberger@gmail.com>
> > ---
> > include/net.h | 16 ++++++++++++++++
> > net/eth.c | 15 +++++++++++++++
> > 2 files changed, 31 insertions(+), 0 deletions(-)
> >
> > diff --git a/include/net.h b/include/net.h
> > index f6aeba2..bdc3da6 100644
> > --- a/include/net.h
> > +++ b/include/net.h
> > @@ -104,7 +104,9 @@ extern struct eth_device *eth_get_dev_by_index(int
> > index); /* get dev @ index */ extern int eth_get_dev_index (void);
> > /* get the device index */ extern void eth_parse_enetaddr(const char
> > *addr, uchar *enetaddr); extern int eth_getenv_enetaddr(char *name,
> > uchar *enetaddr);
> > +#ifdef CONFIG_SETENV_ENETADDR_BY_INDEX
> > extern int eth_setenv_enetaddr(char *name, const uchar *enetaddr);
> > +#endif
>
> Which other function did you intend? You already guarded the only
> definition whose implementation is guarded.
That was a mistake. Will be fixed in the next version.
> > /*
> > * Get the hardware address for an ethernet interface .
> > @@ -118,6 +120,20 @@ extern int eth_setenv_enetaddr(char *name, const
> > uchar *enetaddr); extern int eth_getenv_enetaddr_by_index(const char
> > *base_name, int index, uchar *enetaddr);
> >
> > +#ifdef CONFIG_SETENV_ENETADDR_BY_INDEX
>
> Personally I don't like config options for something so tiny. If you
> really must guard against including it, use the CONFIG_RANDOM_MACADDR
> instead.
Me, too. But Wolfgang doesn't accept patches which increases the code size for
other boards.
I don't think it is a good idea to use CONFIG_RANDOM_MACADDR for such a
generic function, which will (hopefully) be used by others too.
> I'd prefer to just let the linker exclude it when it's never
> referenced.
Correct, me if i'm wrong, but the linker can only discard unused sections. But
there was some discussion on -ffunction-sections and -fdata-sections on the
ML. So maybe theres some light at the end of the tunnel ;)
>
> > +/*
> > + * Set the hardware address for an ethernet interface .
> > + * Args:
> > + * base_name - base name for device (normally "eth")
> > + * index - device index number (0 for first)
> > + * enetaddr - returns 6 byte hardware address
> > + * Returns:
> > + * 0 on success, else 1.
> > + */
> > +extern int eth_setenv_enetaddr_by_index(const char *base_name, int
> > index, + const uchar *enetaddr);
> > +#endif
> > +
> > #ifdef CONFIG_RANDOM_MACADDR
> > /*
> > * The u-boot policy does not allow hardcoded ethernet addresses. Under
> > the diff --git a/net/eth.c b/net/eth.c
> > index afce863..d66e22a 100644
> > --- a/net/eth.c
> > +++ b/net/eth.c
> > @@ -67,6 +67,21 @@ int eth_getenv_enetaddr_by_index(const char
> > *base_name, int index, return eth_getenv_enetaddr(enetvar, enetaddr);
> > }
> >
> > +#ifdef CONFIG_SETENV_ENETADDR_BY_INDEX
> > +int eth_setenv_enetaddr_by_index(const char *base_name, int index,
> > + const uchar *enetaddr)
> > +{
> > + char enetvar[32];
> > +
> > + if (index)
> > + sprintf(enetvar, "%s%daddr", base_name, index);
> > + else
> > + sprintf(enetvar, "%saddr", base_name);
> > +
> > + return eth_setenv_enetaddr(enetvar, enetaddr);
> > +}
> > +#endif
>
> You should synchronize with Rob Herring who is also trying to add this
> eth_setenv_enetaddr_by_index() function.
> http://patchwork.ozlabs.org/patch/152590/
ah thanks for the hint.
>
> Also since Rob's patch would use this function all the time, the
> CONFIG_SETENV_ENETADDR_BY_INDEX would be removed, right?
right, but see above.
--
Michael
next prev parent reply other threads:[~2012-05-17 20:43 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-11 22:50 [U-Boot] [PATCH v5 0/5] Kirkwood: add lschlv2 and lsxhl board support Michael Walle
2012-05-11 22:50 ` [U-Boot] [PATCH v5 1/5] lib: add rand() function Michael Walle
2012-05-23 16:34 ` Michael Walle
2012-05-24 4:32 ` Prafulla Wadaskar
2012-05-24 10:34 ` Michael Walle
2012-05-11 22:50 ` [U-Boot] [PATCH v5 2/5] net: add helper to generate random mac address Michael Walle
2012-05-25 17:52 ` Joe Hershberger
2012-05-11 22:50 ` [U-Boot] [PATCH v5 3/5] net: fix potential compiler warning Michael Walle
2012-05-16 1:11 ` Joe Hershberger
2012-05-11 22:50 ` [U-Boot] [PATCH v5 4/5] net: add eth_setenv_enetaddr_by_index() Michael Walle
2012-05-11 22:53 ` Michael Walle
2012-05-16 0:56 ` Joe Hershberger
2012-05-17 20:43 ` Michael Walle [this message]
2012-05-25 18:50 ` Joe Hershberger
2012-05-25 19:54 ` Michael Walle
2012-05-25 20:50 ` Joe Hershberger
2012-05-22 21:18 ` Michael Walle
2012-05-22 21:41 ` Rob Herring
2012-05-22 21:53 ` Michael Walle
2012-05-11 22:50 ` [U-Boot] [PATCH v5 5/5] Kirkwood: add lschlv2 and lsxhl board support Michael Walle
2012-05-22 20:58 ` Michael Walle
2012-05-24 4:50 ` Prafulla Wadaskar
2012-05-24 7:24 ` Prafulla Wadaskar
2012-05-24 10:30 ` Michael Walle
2012-05-25 23:34 ` Michael Walle
2012-05-25 14:13 ` [U-Boot] [PATCH v5 0/5] " Prafulla Wadaskar
2012-05-25 16:05 ` Joe Hershberger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201205172243.01110.michael@walle.cc \
--to=michael@walle.cc \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox