18.05.2021 21:34, Mark Brown пишет: > On Tue, May 18, 2021 at 01:09:49PM -0500, Rob Herring wrote: >> On Tue, May 18, 2021 at 03:13:56AM +0300, Dmitry Osipenko wrote: > >>> Squash all machine drivers into a single-universal one. This reduces >>> code duplication, eases addition of a new drivers and upgrades older >>> code to a modern Linux kernel APIs. > >> Nice, I never understood why each codec needed it's own machine driver >> (and typically in turn compatible string). > > It's generally the clocking configuration, things with fancy clock trees > don't play so nicely with generic systems where we want to configure > them at runtime, or things with complex routing in the CPU where we > only recently started getting bindings that were functional enough to > use. Tegra is fairly complex internally. > This is true, but still it's more optimal to use flags in a single common driver for the minor differences rather than to duplicate 90% of the code. In practice majority of tegra boards are derived from the same reference design, thus the h/w configurations are mostly the same.