driver_probe_device(9)
π driver_probe_device(9) π
straight up from the Kernel API Manual πΈ β this is the lil matchmaker that tries to bind a device & driver together. bestie, it's giving "will they? won't they?" but in kernel space π .
πΈ NAME πΈ
driver_probe_device β attempt to bind device & driver together. no cap, that's literally the mission.
β¨ SYNOPSIS β¨
here's the signature, untouched because we do not edit code with vibes:
int driver_probe_device (const struct device_driver *drv , struct device
*dev );
π ARGUMENTS π
drvβ the driver to bind a device to. driver side of the pair-up.devβ the device to try to bind to the driver. the other half of the ship.
π DESCRIPTION π
okay so the return values are the whole plot, and they are iconic: this function returns -ENODEV if the device is not registered, -EBUSY if it already has a driver, 0 if the device is bound successfully, and a positive (inverted) error code for failures from the ->probe method. yes, positive and inverted β don't let that confuse you, bestie π«Ά.
the lock situation is not optional π¨: this function must be called with dev lock held. when it's called for a USB interface, dev->parent lock must be held as well. both. no skipping. periodt.
if the device has a parent, runtime-resume the parent before driver probing. parent gets a little main character wake-up first, iykyk β¨.
π SEE ALSO π
the kernel file is ./drivers/base/dd.c, and the whole SEE ALSO friend group is right here:
driver_deferred_probe_trigger(9)device_block_probing(9)device_unblock_probing(9)device_set_deferred_probe_reason(9)driver_deferred_probe_check_state(9)deferred_probe_initcall(9)device_is_bound(9)device_bind_driver(9)driver_probe_done(9)wait_for_device_probe(9)device_attach(9)device_driver_attach(9)driver_attach(9)device_release_driver(9)device_driver_detach(9)driver_detach(9)
and that's the page, bestie π«Ά source/version tea: ./drivers/base; date tea: October 2026; and yes, this is driver_probe_device(9) signing off with a sparkle πβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms