From: Mike Frysinger <vapier@gentoo.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 01/27 v2] Blackfin: bfin_mac: force board_get_enetaddr() usage
Date: Mon, 2 Feb 2009 19:37:25 -0500 [thread overview]
Message-ID: <200902021937.26246.vapier@gentoo.org> (raw)
In-Reply-To: <20090202210434.39F698322908@gemini.denx.de>
On Monday 02 February 2009 16:04:34 Wolfgang Denk wrote:
> In message Mike Frysinger you wrote:
> > -------
> > Usage
> > -------
> >
> > During board init (like the board-specific misc_init_r() function),
> > boards should take care of locating the MAC address, initializing the
> > environment, and seeding the global data.
>
> Please change:
>
> If the hardware design mandates that the MAC address is stored
> in some special place, like EEPROM etc., then the board
> specific init code (like the board-specific misc_init_r()
> function) is responsible for locating the MAC address(es) and
> initialize the respective environment variable(s) from it.
>
> Note that this shall be done if, and only if, the environment
> does not already contain these environment variables, i. e.
> existing variable definitions must not be overwritten.
>
> The envrionment handling code (function setevn()) will update
> the global data accordingly.
it will update the global data, but nowhere will it initially seed it. i'm
thinking env_init() should be a unified entry point that first calls down to
the specific env storage (eeprom/flash/nand/etc...) and then initializes the
relevant bi_enetaddr members of the global data structure.
> > During runtime, the ethernet layer will use the environment variables to
> > sync the MAC addresses to the ethernet structures. All ethernet driver
> > code should then only use the enetaddr member of the eth_device
> > structure.
>
> Please change:
>
> During runtime, the ethernet layer will use the global data
> to sync ...
documenting it this way wont change the code ;). the ethernet code does not
use the global data in any way. look at eth_initialize() in net/eth.c. i
imagine part of the reason for this is that working with multiple ethernet
devices is pretty ugly atm. the static list of CONFIG_HAS_ETH{1,2,3,...}
makes working with more than one device very messy. the ethernet code today
though builds the string dynamically "eth%iaddr" and so can handle arbitrary
number of devices without needing any changes.
this also applies to the cascading of setenv() into the global data. that
code only handles bi_enetaddr and none of the bi_enetNaddr ... doing 'set
eth1addr ..." will not update bi_enet1addr ...
> > Any other common code that wishes to access the MAC address should then
> > query the global data directly. No one should be looking in the
> > environment for any addresses.
>
> Any code that wishes to access the MAC address should then query the
> global data or the environment, depending on whatever (binary or
> string representation) seems more appropriate.
relying on global data only means code can avoid having to handle unset
variables. global data will always have something in there. the
str_enetaddr() utility function makes this easy ...
> > * bool eth_getenv_enetaddr(char *name, uchar *enetaddr);
>
> Make this "int" - we don't use "bool" in U-Boot. This is C code.
bool is a C type ... not that i'll bitch enough to keep it :p
i've merged your other changes locally
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: This is a digitally signed message part.
Url : http://lists.denx.de/pipermail/u-boot/attachments/20090202/d5a1667a/attachment-0001.pgp
next prev parent reply other threads:[~2009-02-03 0:37 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-29 0:03 [U-Boot] [PATCH 00/27] Blackfin updates for 2009.03 (part 2) Mike Frysinger
2009-01-29 0:03 ` [U-Boot] [PATCH 01/27] Blackfin: bfin_mac: force board_get_enetaddr() usage Mike Frysinger
2009-01-29 5:43 ` Ben Warren
2009-01-29 5:53 ` Mike Frysinger
2009-01-29 6:01 ` Ben Warren
2009-01-29 6:16 ` Mike Frysinger
2009-01-29 6:20 ` Ben Warren
2009-01-29 10:43 ` Wolfgang Denk
2009-01-29 6:59 ` [U-Boot] [PATCH 01/27 v2] " Mike Frysinger
2009-01-29 7:53 ` Ben Warren
2009-01-29 10:45 ` Wolfgang Denk
2009-01-29 16:35 ` Mike Frysinger
2009-01-29 19:03 ` Wolfgang Denk
2009-01-29 20:25 ` Mike Frysinger
2009-01-29 20:41 ` Wolfgang Denk
2009-01-29 21:05 ` Mike Frysinger
2009-01-29 21:17 ` Wolfgang Denk
2009-01-29 21:48 ` Mike Frysinger
2009-01-29 22:18 ` Wolfgang Denk
2009-01-30 1:23 ` Mike Frysinger
2009-02-02 20:05 ` Mike Frysinger
2009-02-02 21:04 ` Wolfgang Denk
2009-02-03 0:37 ` Mike Frysinger [this message]
2009-02-03 8:16 ` Wolfgang Denk
2009-02-03 19:40 ` Mike Frysinger
2009-02-10 20:36 ` Mike Frysinger
2009-02-11 5:45 ` Ben Warren
2009-02-11 5:57 ` Mike Frysinger
2009-02-11 12:17 ` Wolfgang Denk
2009-02-11 19:25 ` Mike Frysinger
2009-02-11 20:15 ` Ben Warren
2009-02-12 1:29 ` Mike Frysinger
2009-02-12 6:24 ` Ben Warren
2009-02-12 6:30 ` Mike Frysinger
2009-02-12 7:33 ` Wolfgang Denk
2009-02-12 7:57 ` Mike Frysinger
2009-01-30 0:59 ` [U-Boot] [PATCH] net: new utility functions eth_{parse, {get, set}env}_enetaddr() Mike Frysinger
2009-01-30 1:09 ` [U-Boot] [PATCH 01/27 v3] Blackfin: bfin_mac: force boards to setup the MAC themselves Mike Frysinger
2009-01-30 1:09 ` [U-Boot] [PATCH] Blackfin: bf537-stamp: rewrite MAC-in-flash handling Mike Frysinger
2009-01-29 17:49 ` [U-Boot] [PATCH 01/27] Blackfin: bfin_mac: force board_get_enetaddr() usage Scott Wood
2009-01-29 10:30 ` Wolfgang Denk
2009-01-29 0:03 ` [U-Boot] [PATCH 02/27] Blackfin: bfin_mac: set MDCDIV based on SCLK Mike Frysinger
2009-01-29 5:46 ` Ben Warren
2009-01-29 0:03 ` [U-Boot] [PATCH 03/27] Blackfin: bfin_mac: cleanup MII/PHY functions Mike Frysinger
2009-01-29 5:48 ` Ben Warren
2009-01-29 0:03 ` [U-Boot] [PATCH 04/27] Blackfin: bfin_mac: respect CONFIG_PHY_{ADDR, CLOCK_FREQ} Mike Frysinger
2009-01-29 5:50 ` Ben Warren
2009-01-29 0:03 ` [U-Boot] [PATCH 05/27] Blackfin: bfin_mac: use common debug() Mike Frysinger
2009-01-29 5:51 ` Ben Warren
2009-01-29 0:03 ` [U-Boot] [PATCH 06/27] Blackfin: bfin_mac: convert CONFIG_BFIN_MAC_RMII to CONFIG_RMII Mike Frysinger
2009-01-29 6:03 ` Ben Warren
2009-01-29 0:03 ` [U-Boot] [PATCH 07/27] Blackfin: bfin_mac: cleanup pointer/casts for aliasing issues Mike Frysinger
2009-01-29 6:05 ` Ben Warren
2009-01-29 0:03 ` [U-Boot] [PATCH 08/27] Blackfin: only build post code when CONFIG_POST Mike Frysinger
2009-01-29 0:03 ` [U-Boot] [PATCH 09/27] Blackfin: add driver for on-chip SPI controller Mike Frysinger
2009-01-29 0:03 ` [U-Boot] [PATCH 10/27] Blackfin: dont check baud if it wont actually get used Mike Frysinger
2009-01-29 0:03 ` [U-Boot] [PATCH 11/27] Blackfin: enable --gc-sections Mike Frysinger
2009-01-29 0:03 ` [U-Boot] [PATCH 12/27] Blackfin: cache core/system clock values Mike Frysinger
2009-01-29 0:03 ` [U-Boot] [PATCH 13/27] Blackfin: setup bi_enetaddr for single nets Mike Frysinger
2009-01-29 0:03 ` [U-Boot] [PATCH 14/27] Blackfin: rewrite cache handling functions Mike Frysinger
2009-01-29 0:03 ` [U-Boot] [PATCH 15/27] Blackfin: dma_memcpy(): fix random failures Mike Frysinger
2009-01-29 0:03 ` [U-Boot] [PATCH 16/27] Blackfin: only flag L1 instruction for DMA memcpy Mike Frysinger
2009-01-29 0:03 ` [U-Boot] [PATCH 17/27] Blackfin: use 8/16/32 bit transfer widths in dma_memcpy() Mike Frysinger
2009-01-29 0:03 ` [U-Boot] [PATCH 18/27] Blackfin: fix up EBIU defines Mike Frysinger
2009-01-29 0:03 ` [U-Boot] [PATCH 19/27] Blackfin: build with -mno-fdpic Mike Frysinger
2009-01-29 0:03 ` [U-Boot] [PATCH 20/27] Blackfin: add driver for on-chip NAND controller Mike Frysinger
2009-01-29 0:03 ` [U-Boot] [PATCH 21/27] Blackfin: add driver for on-chip ATAPI controller Mike Frysinger
2009-01-29 0:03 ` [U-Boot] [PATCH 22/27] Blackfin: add port I bits Mike Frysinger
2009-01-29 0:03 ` [U-Boot] [PATCH 23/27] Blackfin: update asm-blackfin/posix_types.h to latest Linux version Mike Frysinger
2009-01-29 0:03 ` [U-Boot] [PATCH 24/27] Blackfin: set default CONFIG_ENV_SPI_CS based on bootrom Mike Frysinger
2009-01-29 0:03 ` [U-Boot] [PATCH 25/27] Blackfin: output booting source when booting Mike Frysinger
2009-01-29 0:03 ` [U-Boot] [PATCH 26/27] Blackfin: add port muxing for BF51x SPI Mike Frysinger
2009-01-29 0:03 ` [U-Boot] [PATCH 27/27] Blackfin: add driver for on-chip MMC/SD controller Mike Frysinger
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=200902021937.26246.vapier@gentoo.org \
--to=vapier@gentoo.org \
--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