From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bart Veer To: tadams@theone.dnsalias.com Cc: ecos-discuss@sourceware.cygnus.com Subject: Re: [ECOS] ethernet driver package idea Date: Fri, 24 Aug 2001 04:22:00 -0000 Message-id: <200108241122.f7OBM6a02679@sheesh.cambridge.redhat.com> References: <000301c12c09$3a9ba050$090110ac@TRENT> X-SW-Source: 2001-08/msg00805.html >>>>> "Trenton" == Trenton D Adams 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 * 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 * 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