All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.