[alsa-devel] [PATCH 01/11] ASoC: rt5651: Avoid duplicating DMI quirks between codec and machine driver

Hans de Goede hdegoede at redhat.com
Thu Feb 22 21:38:05 CET 2018


Hi,

On 22-02-18 12:35, Mark Brown wrote:
> On Thu, Feb 22, 2018 at 12:08:29PM +0100, Hans de Goede wrote:
> 
>> So thinking more about this I think that having the codec driver only
>> check device-properties and completely killing platform_data is the best
>> way forward / best way to clean this up.
> 
>> Combined with either device-tree or the machine driver setting these device
>> properties for now, and in the future the ACPI tables can set these properties
>> directly and we can hopefully won't need to add new quirks to the machine
>> driver.
> 
> The device properties thing seems reasonable enough.  I'm still not
> super convinced the machine driver is the right place, but let's see the
> code.  I think ideally the arch code would have a way to put all the
> device property based quirks for these systems like we IIRC do for some
> DT fixups.

We've already tried something like that for fixing a similar situation
(not enough info in ACPI for the driver to function) for silead
touchscreens:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/drivers/platform/x86/silead_dmi.c

Note that this device-property providing driver can only be
builtin, it cannot be built as a module (otherwise we're back
to having ordering issues). We (Dmitry and I) have gotten quite
some flack about needlessly growing the bzImage size with data
only used on a small subset of x86 devices and this construction
is not something which I want to repeat (nor would advise
others to repeat).

We really need to have a way to have these quirks table in a module
which only loads on devices which need it. So in my mind the
machine driver is a good place for this.

Regards,

Hans



More information about the Alsa-devel mailing list