[PATCH 5/6] ASoC: sirf-inner: add mach driver for SiRFSoC internal codec
Barry Song
21cnbao at gmail.com
Thu Jul 25 04:57:22 EDT 2013
2013/7/20 Mark Brown <broonie at kernel.org>:
> On Fri, Jul 19, 2013 at 07:07:21PM +0800, Barry Song wrote:
>
>> +#ifndef CONFIG_ANDROID
>> + unsigned int gpio_hp_detect;
>> + struct snd_soc_jack hp_jack;
>> +#endif
>
> Not for mainline. I'd suggest setting it up for extcon anyway
> especially if it's just a simple accessory, that should work for both
> Android and mainline.
sounds good as if CONFIG_ANDROID is enabled without
CONFIG_ANDROID_SWITCH, /sys/class/switch/* will be symbolically linked
to /sys/class/extcon/, so that they are still compatible with legacy
userspace processes.
>
>> +static int sirf_inner_speaker_out_put(struct snd_kcontrol *kcontrol,
>> + struct snd_ctl_elem_value *ucontrol)
>> +{
>> + int is_spk_out = ucontrol->value.integer.value[0];
>> + struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol);
>> + struct snd_soc_card *card = codec->card;
>> + struct sirf_inner_card *sinner_card = snd_soc_card_get_drvdata(card);
>> +
>> + if (gpio_is_valid(sinner_card->gpio_spk_pa))
>> + gpio_direction_output(sinner_card->gpio_spk_pa, is_spk_out);
>> + return 0;
>> +}
>
> Oh, right. If this is doing what I think this is doing you want to use
> DAPM within the CODEC then this can just become a pin switch or you can
> hook in directly if you continue to use soc-jack - it has DAPM
> integration.
ok. here it is more of machine stuff than codec stuff, so i think we
move to snd_soc_jack_gpio.
-barry
More information about the linux-arm-kernel
mailing list