On Mon, Apr 16, 2012 at 06:52:28PM +0200, Christoph Egger wrote: > > Hi, > > I want to introduce a new function to sys/devices.h: > > bool device_is_attached(device_t parent, cfdata_t cf); > > The purpose is for bus drivers who wants to attach children > and ensure that only one instance of it will attach. > > 'parent' is the bus driver and 'cf' is the child device > as passed to the submatch callback via config_search_loc(). > > The return value is true if the child is already attached. > > I implemented a reference usage of it in amdnb_misc.c to ensure > that amdtemp only attaches once on rescan.
Don't add that function. Just use a small amdnb_misc softc to track whether or not the amdtemp is attached or not: struct amdnb_misc_softc { device_t sc_amdtemp; }; Don't pass a pci_attach_args to amdtemp. Just pass it the chipset tag and PCI tag if that is all that it needs. I'm not sure I fully understand the purpose of amdnb_miscbus. Are all of the functions that do/will attach at amdnb_miscbus configuration-space only functions, or are they something else? Please explain what amdnb_miscbus is for. Dave -- David Young dyo...@pobox.com Urbana, IL (217) 721-9981