On Thu, Jun 13, 2024 at 02:58:10PM +0200, Marco Felsch wrote: > The FIT spec is not very specific when it comes to device-tree overlay > handling. Overlays can be added directely to an config node: > > config-a { > compatible = "machine-compatible"; > kernel = "kernel-img-name"; > fdt = "fdt-base-name", "fdt-overlay1-name", "..."; > } > > or they are supplied via dedicated config nodes: > > overlay-2 { > fdt = "fdt-overlay2-name"; > } > > Of course these config nodes can have compatibles as well: > > overlay-3 { > compatible = "machine-compatible"; > fdt = "fdt-overlay3-name"; > } > > The current fit_find_compatible_unit() code would skip the overlay node > if the config-a compatible has the same score as the overlay-3 > compatible and if the overlay-3 config-node is listed after the config-a > config-node. But if the compatible of config-a config-node has a lower > score or the overlay-3 config-note is listed first (the spec does not > specify any order) we end up in taking the overlay-3 config-node instead > of config-a config-node. > > Make to code more robust by skip all config nodes matching the pattern > from global.of.overlay.fitconfigpattern. Reading this patch again I come to the same conclusion as last time, so I continued the discussion there. Sascha -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |