Page MenuHomeFreeBSD

Add a function to set the newbus DF_REBID flag.
AbandonedPublic

Authored by ian on Oct 16 2014, 4:31 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sep 5 2025, 1:13 PM
Unknown Object (File)
Sep 5 2025, 5:27 AM
Unknown Object (File)
Sep 4 2025, 8:01 PM
Unknown Object (File)
Sep 4 2025, 7:53 PM
Unknown Object (File)
Feb 13 2025, 8:35 AM
Unknown Object (File)
Jan 10 2025, 12:47 AM
Unknown Object (File)
Jan 3 2025, 11:02 PM
Unknown Object (File)
Dec 9 2024, 2:37 AM
Subscribers

Details

Reviewers
nwhitehorn
imp
Group Reviewers
ARM
Summary

The newbus code has long had a facility allowing a device to be re-probed (re-bid) after a driver has been attached. The code was effectively inactivated by providing no mechanism or condition that led to setting the DF_REBID flag that enables it for a given driver.

This change adds a device_set_rebiddable() function to set the flag. The new manpage lays out the requirements for a driver willing to rebid and potentially detach if outbid.

This long-dormant feature is now needed to solve a problem with using FDT data supplied by system vendors: the data sometimes lists a device as being compatible with "simple-bus" in addition to more specific hardware. This causes simplebus to attach during BUS_PASS_BUS, which prevents the real driver from attaching on a later pass. This change will allow simplebus to be rebiddable and detach from the device if a higher-quality driver comes along later.

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

ian retitled this revision from to Add a function to set the newbus DF_REBID flag..
ian updated this object.
ian edited the test plan for this revision. (Show Details)
ian added reviewers: Doc Committers, imp, nwhitehorn, ARM.
ian set the repository for this revision to rS FreeBSD src repository - subversion.
imp edited edge metadata.
This revision is now accepted and ready to land.Oct 16 2014, 5:28 AM
wblock added inline comments.
share/man/man9/device_set_rebiddable.9
54

"ever" is not needed.

57

This sentence can be read several ways. "It claimed re-probed", for example. Maybe

A driver which has claimed a device can call
.Fn device_set_rebiddable
to indicate willingness to have the device reprobed on later passes or when new drivers are loaded.