/* gpio detect */ static void snd_soc_jack_gpio_detect(struct snd_soc_jack_gpio *gpio) { struct snd_soc_jack *jack = gpio->jack; int enable; int report;
enable = gpiod_get_value_cansleep(gpio->desc); if (gpio->invert) enable = !enable;
if (enable) report = gpio->report; else report = 0; if (gpio->jack_status_check) report = gpio->jack_status_check(gpio->data); snd_soc_jack_report(jack, report, gpio->report);
}