From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Herring Date: Tue, 06 Mar 2012 14:01:09 -0600 Subject: [U-Boot] [PATCH v3] net: allow setting env enetaddr from net device setting In-Reply-To: <20120306193011.D9DF5202D76@gemini.denx.de> References: <1323199478-21001-1-git-send-email-robherring2@gmail.com> <1328138854-28612-1-git-send-email-robherring2@gmail.com> <20120306193011.D9DF5202D76@gemini.denx.de> Message-ID: <4F566D05.5020809@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 03/06/2012 01:30 PM, Wolfgang Denk wrote: > Dear Rob Herring, > > In message <1328138854-28612-1-git-send-email-robherring2@gmail.com> you wrote: >> >> --- a/doc/README.enetaddr >> +++ b/doc/README.enetaddr >> @@ -32,7 +32,9 @@ Correct flow of setting up the MAC address (summarized): >> >> 1. Read from hardware in initialize() function >> 2. Read from environment in net/eth.c after initialize() >> -3. Give priority to the value in the environment if a conflict >> +3. Write value to environment if setup in struct eth_device->enetaddr by driver >> + initialize() function. Give priority to the value in the environment if a >> + conflict. > > Sorry, but this description is not correct. You say here that the > environment variable should always be written, but this is not the > case. Only if it does not exist it shall be set. If it exists, it > shall only be read, and in case of inconsistencies a warning shall be > printed. > How about this: 3. Always use the value in the environment if there is a conflict. If the environment variable is not set and the driver initialized struct eth_device->enetaddr, then print a warning and set the environment variable to initialized by the driver. Rob > > Best regards, > > Wolfgang Denk >