This is the mail archive of the ecos-patches@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Innovator patches


Patrick Doyle wrote:
Attached (perhaps) is a set of small cleanup patches, based entirely on
Ta. Committed!

4) include <string.h> instead of explicitly prototyping memset() in
innovator_misc.c.  (I really should change it in excalibur_misc.c as well --
would you like a totally untested patch containing that trivial change?)
No reason why not.

As always, questions, comments, and snide remarks are welcome.
Looks fine to me.

I am still trying to digest the comments about the eth driver. I don't like
the fact that RedBoot prompts the user for the ESA/MAC address, which is
promptly ignored by the driver, so I want to fix that. But I am confused by
jifl's suggestion that I "allow redboot dynamically to provide it, or use
compile time config, or an EEPROM, in that order". My preference would be
to use the EEPROM on the board first, then redboot, then compile time
config. Ideally, redboot shouldn't even prompt the user for it unless a
(cdl) switch gets thrown someplace first.
The thing to do is look at how, say, the cs8900a does it, with the edb7xxx as an instantiation. Most of the fun stuff happens in the edb7xxx bit actually. And what happens with RedBoot is that there's one boolean option default off which controls whether or not an ESA is then properly set (and then used). The option to set the ESA itself is then a suboption of that boolean option, so if you don't request to set a new ESA, you never see it.

That then makes it sensible to do it in the order redboot, compile time, EEPROM. RedBoot first because someone is insisting they want to override it; then compile time as someone is wanting to just hard code it at compile time without looking at any EEPROM - again this is default off so someone must have explicitly enabled it, and finally EEPROM, which will be remain the default method.

> I am also a little concerned
> about changes that would require that I tweak the lan91cxx and flexanet
> drivers, since I have no way to test the flexanet (which is the only other
> platform that uses the lan91cxx driver, hence the reason I based the
> innovator driver on that one).

Don't worry too much - all that's needed is an extra few fields in lan91cxx_eth0_priv_data which will be set up according to a hard CYGSEM_DEVS_ETH_ARM_FLEXANET_REDBOOT_ESA config option so the existing behaviour won't be changed.

Jifl
--
eCosCentric http://www.eCosCentric.com/ The eCos and RedBoot experts
--[ "You can complain because roses have thorns, or you ]--
--[ can rejoice because thorns have roses." -Lincoln ]-- Opinions==mine


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]