Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Apr 2011 17:22:37 +0300
From:      Andriy Gapon <avg@FreeBSD.org>
To:        Nick Hibma <nick@van-laarhoven.org>
Cc:        =?windows-1252?Q?Current_Mailing_List=93?= <freebsd-current@FreeBSD.org>, =?windows-1252?Q?=93FreeBSD_USB_Mailing_List=93?= <freebsd-usb@FreeBSD.org>, =?windows-1252?Q?=93FreeBSD_?=, Hans Petter Selasky <hselasky@c2i.net>
Subject:   Re: use_generic and usb probing
Message-ID:  <4DA5B1AD.5070703@FreeBSD.org>
In-Reply-To: <87909196-8EAB-4255-A1C7-6AAB22FA46E8@van-laarhoven.org>
References:  <201104051321.56319.hselasky@freebsd.org> <4D9B1023.7020407@FreeBSD.org> <201104051455.33853.hselasky@freebsd.org> <4D9B473F.8020607@FreeBSD.org> <87909196-8EAB-4255-A1C7-6AAB22FA46E8@van-laarhoven.org>

next in thread | previous in thread | raw e-mail | index | archive | help
on 13/04/2011 00:48 Nick Hibma said the following:
>> 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.

OK.  Though I don't see how that is related to the question that I raised.

> 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 am not sure that I understood this part.

> I guess that documenting this kludge and updating the comment to state this
> fact would be sufficient to solve the problem.

I don't see how this follows from what you've written above.

-- 
Andriy Gapon



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4DA5B1AD.5070703>