This is the mail archive of the ecos-discuss@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]

Re: ethernet driver package idea


>>>>> "Trenton" == Trenton D Adams <tadams@theone.dnsalias.com> writes:

    Trenton> I just realized something too. What if another ethernet
    Trenton> hardware driver uses eth0?

    Trenton> Would a "requires (CYGHWR_NET_DRIVER_ETH0 == 0)" be
    Trenton> sufficient, or would that conflict with it's self since
    Trenton> it "implements" that?

    Trenton> What about maybe an "active_if (CYGHWR_NET_DRIVER_ETH0 == 0)"

    Trenton> Also, should I use "no_define" on the
    Trenton> CYGPKG_DEVS_ETH_ARM_EDB7XXX_NET_DRIVER_ETH0 and
    Trenton> CYGPKG_DEVS_ETH_ARM_EDB7XXX_NET_DRIVER_ETH1 options? It
    Trenton> doesn't really matter if they do get defined I suppose,
    Trenton> but just to be clear that their not actually used in code
    Trenton> somewhere right?

This issue has already been addressed in the current sources, using
CDL interfaces. Take a look at the USB-ethernet package in
packages/io/usb/eth/slave/current/cdl/usbs_eth.cdl. This package will
provide an eth0 device if there is not already one present in the
system, or an eth1 device if some other package implements eth0 i.e.
if there is a real ethernet device in addition to the one emulated
over USB.

    2001-07-10  Bart Veer  <bartv@redhat.com>

	* doc/usbseth.sgml, doc/*.html:
	Document the below changes.

	* cdl/usbs_eth.cdl:
	The USB-ethernet device now registers itself as either eth0 or
	eth1 by default, depending on what else is present in the system.

Note that for these changes to be fully effective you also need up to
date host-side tools, specifically the following change to libcdl:

    2001-07-10  Bart Veer  <bartv@redhat.com>

	* transact.cxx (is_preferable_to): 
	Fine-tune the determination of which of two transactions has less
	impact on the system.
	
	* infer.cxx (infer_handle_interface_value):
	Add inference engine support for constraints of the form
	(xxx == 0) and (xxx = 1), where xxx is an interface.

Prior to these libcdl enhancements the configuration system would
report a conflict if there were two eth0 devices, but would not be
able to resolve the conflict automatically.

Bart


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