> Well, I think that that's what probe priorities actually for. > I also think that typically ivars should be set by a bus driver. So maybe > it's > not such a good idea to pass data from probe to attach via ivars in child > drivers. > But I could be mistaken about that. > > Practically speaking, you most likely don't have to worry about that for > drivers > that return BUS_PROBE_SPECIFIC (=0) from their probe methods. And there is > only a > few "generic" drivers that can be handled on a case by case basis.
Newbus priorities where specifically implemented on my request by Doug Rabson to cater for fallback attachments: usb.h (the old code) contained a list of priorities. ugen had the lowest priority and attached if no one else did. An example was a keyboard with a built-in mouse on one interface. It would be attached by either mouse or keyboard but not both. An additional driver could probide both devices. We ended up implementing that differently though: attachment to interfaces instead of devices. A probe should not pass any information to the attach phase if it can at all avoid it. Or at least that is the assumption. If a driver needs info in both phases, it needs to regenerate it again. The fact that usb_probe is called again is a kludge, specifically for the description. I guess that documenting this kludge and updating the comment to state this fact would be sufficient to solve the problem. Nick_______________________________________________ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"