[U-Boot] [PATCH 1/4] net: extend the netdev to have a common way to set the hw mac address

Jean-Christophe PLAGNIOL-VILLARD plagnioj at jcrosoft.com
Mon May 11 16:24:54 CEST 2009


On 15:26 Mon 11 May     , Wolfgang Denk wrote:
> Dear Jean-Christophe PLAGNIOL-VILLARD,
> 
> In message <20090511120809.GA1812 at game.jcrosoft.org> you wrote:
> >
> > > there is no need for that on purpose.  the network layer will recheck the 
> > > environment every time it gets initialized, and it gets initialized with every 
> > > network step.  this is already documented in doc/README.enetaddr.
> > Unfortunatly we need it to set the enetaddr in the register of the soc evenif
> > there is no ethernet transfer as for the macb on at91 or the dm9000.
> > This how the kernel pass the mac address for the bootloader.
> 
> You mean, this is how U-Boot is supposed to pass the MAC address to
> the Kernel, right?
> 
> Well, strictly speaking this is (1) in direct violation of U-Boot's
> design principles which say NOT to initialize things it does not use
> itself, and (2) a bug in the Linux kernel that should be fixed there.
> 
> In this case it may be just writing to  a  register  without  further
> initialization  of the hardware, but if we allow for that you can bet
> that tomorrow someone will  try  and  add  code  that  requires  more
> extensive initialization of the hardware for the same purpose, and he
> will argue that his code must go in because there is preexisting code
> that does the same.
this exactly what is done only write mac hw register
without init the eth stack

before we do need to init the mac and detect the phy if we want to store
now we have to call the set_hw_enetaddr

Best Regards,
J.


More information about the U-Boot mailing list