On Thu, Mar 05, 2020 at 03:48:42PM -0600, Pierre-Louis Bossart wrote: > I don't know how to move all the gpio handling in the codec driver, since > there are platform-dependent ACPI mappings. The idiomatic thing for ACPI is to have a DMI table in the driver that selects the behaviour needed on a given system. > I also tested a different solution (attached) based on your input where the > gpiod handing is performed in the machine driver probe, after the card > registration, and the gpiod_put() called from remove. This is simple enough > but there might be some issues left with the jack/input handling - not sure > why the logs for jacks are missing. > Does this clarify the issue and options? I think I preferred the original version - this does mechanically move things to the device model probe but not really in an idiomatic fashion (we're still requesting a GPIO for the CODEC from the machine driver) so I'm not sure it really helps. The changelog is definitely a lot better though.