On Sat, Dec 19, 2015 at 01:11:34AM +0100, Peter Stuge wrote:
Kevin O'Connor wrote:
Would checking the connection status for each device after all devices have been registered be able to filter the USB2 device out?
Yes, but there isn't a way to "unregister" the drive once it's been registered.
Oh - why not?
If this has to do with e.g. BBS then maybe first register internally during probing, then filter disconnected devices out, *then* register "for real" ?
Doing that is equivalent (unless I've missed something) to delaying registration until detection completes on all other ports on that controller. That's the delay I'm leery of adding.
Hm - maybe I'm missing something?
Doesn't it effectively take the same amount of wall clock time?
Delaying registration vs unregistering would (I believe) take the same wall clock time.
If you're asking if current state vs unregistering/delaying would take the same wall time - thinking about that now, it might be true. I guess the implementaiton and how things like CONFIG_THREADS=n are handled would determine that.
Is your worry that by postponing registration some oddities could come up e.g. in option ROMs that also parse the boot device list?
No.
I looked at the code - technically it seems straightforward to implement a boot_remove_hd(). Is that disallowed by the BBS?
That's not my concern. I think it would be confusing to add and then remove. Simpler to only add when we know it's real.
-Kevin