forked from Minki/linux
ALSA: hda/realtek - Add GPIO data update helper
For updating GPIO bits dynamically, provide a new helper, and use it from the alc260 automute hook. This helper will be used by other places in future, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
5579cd6f66
commit
aaf312de4e
@ -241,6 +241,20 @@ static void alc_write_gpio_data(struct hda_codec *codec)
|
||||
spec->gpio_data);
|
||||
}
|
||||
|
||||
static void alc_update_gpio_data(struct hda_codec *codec, unsigned int mask,
|
||||
bool on)
|
||||
{
|
||||
struct alc_spec *spec = codec->spec;
|
||||
unsigned int oldval = spec->gpio_data;
|
||||
|
||||
if (on)
|
||||
spec->gpio_data |= mask;
|
||||
else
|
||||
spec->gpio_data &= ~mask;
|
||||
if (oldval != spec->gpio_data)
|
||||
alc_write_gpio_data(codec);
|
||||
}
|
||||
|
||||
static void alc_write_gpio(struct hda_codec *codec)
|
||||
{
|
||||
struct alc_spec *spec = codec->spec;
|
||||
@ -1577,8 +1591,8 @@ enum {
|
||||
static void alc260_gpio1_automute(struct hda_codec *codec)
|
||||
{
|
||||
struct alc_spec *spec = codec->spec;
|
||||
snd_hda_codec_write(codec, 0x01, 0, AC_VERB_SET_GPIO_DATA,
|
||||
spec->gen.hp_jack_present);
|
||||
|
||||
alc_update_gpio_data(codec, 0x01, spec->gen.hp_jack_present);
|
||||
}
|
||||
|
||||
static void alc260_fixup_gpio1_toggle(struct hda_codec *codec,
|
||||
|
Loading…
Reference in New Issue
Block a user