Linux – Device tree and driver probes

Device tree and driver probes… here is a solution to the problem.

Device tree and driver probes

In a Linux device tree file (DTS), how does a compatible entry work if multiple options are given? It doesn’t seem like this is a choice between these entries, but layering devices is also possible (e.g. I have a line compatible = “vendor,controller-uart”, “vendor, controller -serial” seems to put the driver controller-serial and controller-uart are all correlated (as far as code is concerned, controller-serial actually calls things from controller-uart.)

Where is this concept explained? I couldn’t find an explanation for this in the generic device tree docs.

Solution

To answer my own question (from the information in this document): This is my misunderstanding. This is actually a choice, and the use of the second device type specified under compatible in the code is the implementation detail of the driver in question.

Related Problems and Solutions