device_get_softc(9)

device_get_softc9

Access driver private instance variables

Usage

#include <sys/param.h>

#include <sys/bus.h>

void *

device_get_softc(device_t dev);

Overview

Return the driver-specific software context of dev. The softc is automatically allocated and zeroed when the device is attached. The softc is also initialized and present when a device is probed, but is subject to caveats as described in DEVICE_PROBE(9). The size of the allocation is determined by the device's driver_t information used to define the driver. The softc typically encapsulates the state of this instance of the device.

Driver writers are discouraged from using their own softc management mechanisms. Driver writers should not copy such mechanisms found in drivers in the tree that predate this function.

Return values

The pointer to the driver-specific instance variable is returned.

Releases

77 releases since FreeBSD 3.0-RELEASE; the text changed 43 times.

  1. 3.0–3.2
  2. 3.3–3.5.1
  3. 4.0–4.2
  4. 4.3
  5. 4.4
  6. 4.5–4.11
  7. 5.0
  8. 5.1
  9. 5.2–5.4
  10. 5.5
  11. 6.0
  12. 6.1–6.3
  13. 6.4
  14. 7.0
  15. 7.1
  16. 7.2
  17. 7.3
  18. 7.4
  19. 8.0
  20. 8.1
  21. 8.2
  22. 8.3
  23. 8.4
  24. 9.0
  25. 9.1
  26. 9.2
  27. 9.3
  28. 10.0
  29. 10.1
  30. 10.2
  31. 10.3
  32. 10.4
  33. 11.0
  34. 11.1
  35. 11.2
  36. 11.3
  37. 11.4
  38. 12.0
  39. 12.1
  40. 12.2
  41. 12.3
  42. 12.4
  43. 13.0–13.2
  44. 13.3–16.0

Authors

This manual page was written by Doug Rabson.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.