FreeBSD/sys/kern/subr_bus.c
/**
 * @brief Raise the current bus pass
 *
 * Raise the current bus pass level to @p pass.  Call the BUS_NEW_PASS()
 * method on the root bus to kick off a new device tree scan for each
 * new pass level that has at least one driver.
 */
@brief Raise the current bus pass
Raise the current bus pass level to @p pass.  Call the BUS_NEW_PASS()
method on the root bus to kick off a new device tree scan for each
new pass level that has at least one driver.
@brief Raise the current bus pass Raise the current bus pass level to @p pass . Call the BUS_NEW_PASS () method on the root bus to kick off a new device tree scan for each new pass level that has at least one driver .
void
bus_set_pass(int pass)
{
	struct driverlink *dl;
	if (bus_current_pass > pass)
		panic("Attempt to lower bus pass level");
	TAILQ_FOREACH(dl, &passes, passlink) {
		if (dl->pass <= bus_current_pass)
			continue;
		if (dl->pass > pass)
			break;
		bus_current_pass = dl->pass;
		BUS_NEW_PASS(root_bus);
	}
	if (bus_current_pass < pass)
		bus_current_pass = pass;
	KASSERT(bus_current_pass == pass, ("Failed to update bus pass level"));
}
void bus_set_pass ( int pass ) { struct driverlink * dl ; if ( bus_current_pass > pass ) panic ( " " ) ; TAILQ_FOREACH ( dl , & passes , passlink ) { if ( dl -> pass <= bus_current_pass ) continue ; if ( dl -> pass > pass ) break ; bus_current_pass = dl -> pass ; BUS_NEW_PASS ( root_bus ) ; } if ( bus_current_pass < pass ) bus_current_pass = pass ; KASSERT ( bus_current_pass == pass , ( " " ) ) ; }
@brief Raise the current bus pass
 Raise the current bus pass level to @p pass.
@brief Raise the current bus pass Raise the current bus pass level to @p pass .
/* Skip pass values below the current pass level. */ /*
		 * Bail once we hit a driver with a pass level that is
		 * too high.
		 */ /*
		 * Raise the pass level to the next level and rescan
		 * the tree.
		 */ /*
	 * If there isn't a driver registered for the requested pass,
	 * then bus_current_pass might still be less than 'pass'.  Set
	 * it to 'pass' in that case.
	 */