The code can be simplified with refactored GPIO parts and with use of device_get_match_data(). Besides that couple of additional changes, one for maintenance and one for making IRQ domain agnostic (not being pinned to OF). Changelog v2: - refactored GPIO code in (a new) patch 1 - fixed compilation error in patch 2 (LKP) Andy Shevchenko (4): ASoC: rt5677: Refactor GPIO support code ASoC: rt5677: Use agnostic irq_domain_create_linear() ASoC: rt5677: Use device_get_match_data() ASoC: rt5677: Sort headers alphabetically sound/soc/codecs/rt5677.c | 117 +++++++++++++------------------------- sound/soc/codecs/rt5677.h | 92 +++++------------------------- 2 files changed, 53 insertions(+), 156 deletions(-) -- 2.40.0.1.gaa8946217a0b