[PATCH v6 0/4] Fix jack detection for Chromebook Pixel

From: Fletcher Woodruff
Date: Fri Jun 14 2019 - 14:48:23 EST


** resending due to corrupted patch **

Headphone/mic jack detection doesn't work on the Chromebook Pixel 2015.

This patch changes the irq implementation to support polarity flipping
and fixes the configuration code so that correct GPIO pins are read
from ACPI.

With this series, plugging and unplugging the headphone jack switches
between headphones and speakers automatically, and headset microphones
are also detected.

v6:
- Move refactoring into its own patch
- Reorder patches so that DT property names patch is first
- Clarify commit message for patch which implements irq handler
- Remove unused work struct
- Make IRQ function return IRQ_HANDLED only if IRQs actually fire

v5:
- Fix void* parameter to devm_request_threaded_irq

v4:
- Fix incorrect void* cast in rt5677_irq()

v3:
- Update commit message for patch 1/3 to clarify why we implement
our own irq_chip.

v2:
- Split IRQ change into two patches: adding and fixing potential race
- Change config reading code to try both DT and ACPI style names

Ben Zhang (2):
ASoC: rt5677: clear interrupts by polarity flip
ASoC: rt5677: handle concurrent interrupts

Fletcher Woodruff (2):
ASoC: rt5677: fall back to DT prop names on error
ASoC: rt5677: move jack-detect init to i2c probe

sound/soc/codecs/rt5677.c | 319 ++++++++++++++++++++++++++------------
sound/soc/codecs/rt5677.h | 13 +-
2 files changed, 236 insertions(+), 96 deletions(-)

--
2.22.0.410.gd8fdbe21b5-goog