[RFC PATCH 1/3] ASoC: simple-card-utils: add support for componants provideing jack events via set_jack

Carl Philipp Klemm philipp at uvos.xyz
Sat Jan 8 14:57:49 CET 2022


Hi,

> (X)	int asoc_simple_init_jack(...)
> 	{
> 		...
> 		if (gpio_is_valid(det)) {
> 			...
> 
> 			snd_soc_card_jack_new(...);
> 			snd_soc_jack_add_gpios(...);
> 			for_each_card_components(card, component)
> (Y)				snd_soc_component_set_jack(component, ...);
> 		}
> 		...
> 	}

So for the case of cpcap codec on motorola mapphones this dosent help,
because we dont have a gpio to sense plug state, thus no gpio in dts
and thus gpio_is_valid will return false, therefore, no jack.

Moving 

sjack->pin.pin		= pin_name;
sjack->pin.mask		= mask;

snd_soc_card_jack_new(card, pin_name, mask,
		      &sjack->jack,
		      &sjack->pin, 1);

and

for_each_card_components(card, component)
			snd_soc_component_set_jack(component, &sjack->jack, NULL);

outside of the if block should make this work, at least cpcap gets the jack then.
-- 
Carl Philipp Klemm <philipp at uvos.xyz> <carl at uvos.xyz>


More information about the Alsa-devel mailing list