On Mon, Mar 23, 2026 at 04:00:54PM +0100, Krzysztof Kozlowski wrote: > On 23/03/2026 15:45, Thierry Reding wrote: > > On Sat, Mar 21, 2026 at 11:47:59AM +0100, Krzysztof Kozlowski wrote: > >> On Sat, Mar 21, 2026 at 12:40:55AM +0100, Thierry Reding wrote: > >>> From: Thierry Reding > >>> > >>> The PWM controller found on Tegra264 is largely compatible with the one > >>> on prior generations, but it comes with some extra features, hence a new > >>> compatible string is needed. > >> > >> Extra features means devices are compatible. > >> > >> You also always need a new compatible even without extra features, so > >> last part is just confusing. Suggests like you could skip new > >> compatible. > > > > Erm... if the hardware was exactly identical, then there'd be no need > > for a new compatible string. It's certainly good practice to add one > > anyway, but what's the point in having 10 different compatible strings > > for exactly the same hardware? > > Because integration is different. Nothing new here, DT maintainers > request it for years and is since long time documented in writing bindings. It's more subtle than that. The reason why we want a specific compatible string is because the different integration might potentially introduce a bug that we might, potentially, have to work around at some point using a specific compatible string. If the hardware is backwards- compatible and the driver can match on an existing compatible string and work, there's no requirement for an extra, more specific compatible. What you describe is good practice, and I agree it's a good idea. But if we had chosen to not implement the new features and not update the bindings and instead reuse any of the existing compatible strings, nobody would've care one bit. Heck, if your position is that you *need* a new compatible for every new integration, there'd be no point in even having fallback compatible strings in the first place. Thierry