DRV-110 · Device Drivers · Practitioner

The Unified Device Model — full syllabus

Buses, devices, drivers and classes — the abstraction that makes probe and bind work across every subsystem.

Duration3 full days in person · 6 half-days online
Cohortmax 14 in person · 20 online
Pricefrom SAR 7,880 in person · local pricing per city
Delivery35% principles · 20% guided investigation · 45% engineering studio

Who this course is for

Driver engineers who can write a char device but treat probe as magic — and need to understand the bus/device/driver machinery every real subsystem sits on.

Prerequisites

Course outline

Day 1 — The objects and their graph

  • struct device, device_driver, bus_type and class and how they relate
  • kobject and kset underneath: what the model is built from
  • How /sys/bus and /sys/devices mirror the in-kernel graph
  • Registering a minimal bus type
  • Attribute plumbing: bus/device/driver attributes

Day 2 — Match, probe and bind

  • Match functions and ID tables: how a driver claims a device
  • Probe ordering, initcalls and deferred probe (-EPROBE_DEFER)
  • driver_override and manual bind/unbind through sysfs
  • remove and shutdown: what each must guarantee
  • probe_type and synchronous vs asynchronous probing

Day 3 — Lifetime, resources and power

  • Reference counting with get_device/put_device and the release callback
  • Use-after-free patterns the model prevents and the ones it does not
  • Device-managed resources (devm_*) and why they delete error paths
  • Runtime power management: pm_runtime_get/put and autosuspend
  • System suspend/resume callbacks and ordering constraints

Hands-on labs

  1. Lab: Trace a real bind from modalias to probe with ftrace events and /sys; draw the live object graph
  2. Lab: Register your own bus type with match and probe; bind a device and driver on it end to end
  3. Lab: Force a deferred probe with a missing dependency and explain the retry order from the boot log
  4. Lab: Convert a driver's manual resource cleanup to devm_* and count the error paths you deleted
  5. Lab: Exercise runtime PM: suspend and resume a device with pm_runtime and verify callback order with tracing

Capstone project

Refactor a provided legacy-style driver into a proper model citizen: ID-table matching, probe/remove, devm_* resources and runtime PM hooks — then prove lifetime correctness with a bind/unbind stress run, a kmemleak-clean rmmod and an object-lifetime diagram of the resulting /sys graph.

What you leave with

Upcoming dates

DatesWhereSeatsEarly birdRegular
25 Oct – 27 Oct 20263 full days RiyadhIn person · KAFD Conference Centre 6 of 14 —SAR 7,880
1 Nov – 3 Nov 20263 full days Kuwait CityIn person · Al Hamra Tower 11 of 14 —KWD 650
8 Nov – 10 Nov 20263 full days MuscatIn person · Knowledge Oasis Muscat 6 of 14 OMR 730until 9 OctOMR 810
8 Nov – 15 Nov 20266 half-days Gulf bandLive online · 09:00–13:00 GMT+3 14 of 20 US$1,350until 9 OctUS$1,500
9 Nov – 11 Nov 20263 full days OttawaIn person · Kanata North Tech Park 11 of 14 CAD 2,570until 10 OctCAD 2,860
16 Nov – 18 Nov 20263 full days TorontoIn person · MaRS Discovery District 6 of 14 CAD 2,570until 17 OctCAD 2,860
16 Nov – 23 Nov 20266 half-days Europe bandLive online · 09:00–13:00 CET 3 of 20 US$1,350until 17 OctUS$1,500
16 Nov – 23 Nov 20266 half-days Americas bandLive online · 13:00–17:00 ET 8 of 20 US$1,350until 17 OctUS$1,500
23 Nov – 25 Nov 20263 full days LondonIn person · Shoreditch Works 11 of 14 GBP 1,480until 24 OctGBP 1,640
23 Nov – 25 Nov 20263 full days BerlinIn person · Factory Görlitzer Park 6 of 14 EUR 1,740until 24 OctEUR 1,930

Book a seat, or bring this course to your team

Seats can be reserved online; private delivery runs on-site or live online, adapted to your stack.

Course page & booking

Questions about fit or prerequisites? Email hello@kernelsystems.academy. To save this syllabus, print this page to PDF from your browser.