---
name: "bus_generic_new_pass"
section: "9"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/bus_generic_new_pass"
---

# bus\_generic\_new\_pass(9)

generic implementation of BUS\_NEW\_PASS for bus devices

## NAME

**bus\_generic\_new\_pass** – generic implementation of BUS\_NEW\_PASS for bus devices

## SYNOPSIS

**#include \<sys/param.h\>**

**#include \<sys/bus.h\>**

*void*\

**bus\_generic\_new\_pass**(*device\_t dev*);

## DESCRIPTION

This function provides an implementation of the [BUS\_NEW\_PASS(9)](/BUS_NEW_PASS/9.md) method which can be used by bus drivers. It first invokes the [DEVICE\_IDENTIFY(9)](/DEVICE_IDENTIFY/9.md) method for any drivers whose pass level is equal to the new pass level. Then, for each attached child device it calls [BUS\_NEW\_PASS(9)](/BUS_NEW_PASS/9.md) to rescan child buses, and for each unattached child device it calls [device\_probe\_and\_attach(9)](/device_probe_and_attach/9.md).

## SEE ALSO

[BUS\_NEW\_PASS(9)](/BUS_NEW_PASS/9.md), [bus\_set\_pass(9)](/bus_set_pass/9.md), [device(9)](/device/9.md), [DEVICE\_IDENTIFY(9)](/DEVICE_IDENTIFY/9.md)
