Re: [PATCH v1 2/2] ASoC: tegra: Unify ASoC machine drivers

From: Dmitry Osipenko
Date: Tue May 18 2021 - 16:16:54 EST


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.