"Linux Matchmaking: Helping devices and drivers find each other" ( 2024 )

Sunday at 12:05, 30 minutes, UB5.132, UB5.132, Kernel devroom Ahmad Fatoum , slides , video

Devices identify themselves. Drivers probe matched devices for compatibility.

What appears straight forward on the outset, can be quite serpentine on the everyday System-on-Chip: Devices may refuse to self-identify, require interaction to be addressable, or have - possibly circular - dependencies on other devices. Failure to account for this leads to unchaperoned devices, probe deferrals, and if one is very unlucky, runtime issues up to a bricked system.

Ahmad has debugged a fair share of such issues, either during initial hardware bring-up, after kernel updates or when porting Linux drivers to the barebox bootloader. In his talk, he will introduce the Linux driver model with a focus on tracking dependencies and discuss how to debug and address common issues with tools like ftrace, dev_err_probe and fw_devlink.