On Thu, May 05, 2022 at 04:59:35PM +0200, Arnd Bergmann wrote:
On Thu, May 5, 2022 at 4:39 PM Mark Brown broonie@kernel.org wrote:
On Thu, May 05, 2022 at 04:33:06PM +0200, Linus Walleij wrote:
On Thu, May 5, 2022 at 8:04 AM Arnd Bergmann arnd@kernel.org wrote:
static struct snd_soc_jack_pin hs_jack_pin[] = { { .pin = "Headphone Jack", .mask = SND_JACK_HEADPHONE, }, { .pin = "Speaker", /* disable speaker when hp jack is inserted */ .mask = SND_JACK_HEADPHONE, .invert = 1, },
Hm some ASoC thingie. No idea what that is, but I suppose another place where a subsystem for legacy reasons try to do the gpiolib inversion on it's own accord. That one isn't flagged as active low in the descriptor so it's fine I guess.
It's saying that when the headphone is inserted the headphone output should be enabled and the speaker output should be disabled, and vice versa.
Ok, that sounds like I should remove the flag here if I declare the GPIO line as GPIO_ACTIVE_LOW instead of GPIO_ACTIVE_HIGH, right?
If you change the sense of the GPIO you'll need to flip the invert to the headphone instead of the speaker - whichever way round the GPIO sense is each of the pins should be taking the opposite sense from the GPIO state to the other.