There is a
struct device_d
On the other side a
struct driver_d
Both structs find together via the members 'type' (int) and 'name' (char *). If both members match, the driver's probe function is called with the struct device_d as argument.
People familiar with the Linux platform bus will recognize this behaviour and in fact many things were stolen from there. Some selected members of the structs will be described in this document.
1.5.6