diff options
author | Takashi Iwai <tiwai@suse.de> | 2012-02-03 13:06:36 (GMT) |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2012-02-03 13:06:36 (GMT) |
commit | 1299d3302000c8277b063d3b84c6d866c93597f9 (patch) | |
tree | cc06e47380b62cc407acfdc0120f2cd3c4208ba2 /sound/pci/hda/patch_sigmatel.c | |
parent | 356268bde2efc8aa36364d3f3113a7cf92e079a8 (diff) | |
parent | b544d1e0e233f83a2e6d20ee96b54ea272d5d5ba (diff) | |
download | linux-fsl-qoriq-1299d3302000c8277b063d3b84c6d866c93597f9.tar.xz |
Merge branch 'fix/hda' into topic/hda
The changes for slave controls in patch_realtek.c must be merged for the
further works.
Diffstat (limited to 'sound/pci/hda/patch_sigmatel.c')
-rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 1a26dbc..948f0be 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c @@ -4163,13 +4163,15 @@ static int enable_pin_detect(struct hda_codec *codec, hda_nid_t nid, return 1; } -static int is_nid_hp_pin(struct auto_pin_cfg *cfg, hda_nid_t nid) +static int is_nid_out_jack_pin(struct auto_pin_cfg *cfg, hda_nid_t nid) { int i; for (i = 0; i < cfg->hp_outs; i++) if (cfg->hp_pins[i] == nid) return 1; /* nid is a HP-Out */ - + for (i = 0; i < cfg->line_outs; i++) + if (cfg->line_out_pins[i] == nid) + return 1; /* nid is a line-Out */ return 0; /* nid is not a HP-Out */ }; @@ -4375,7 +4377,7 @@ static int stac92xx_init(struct hda_codec *codec) continue; } - if (is_nid_hp_pin(cfg, nid)) + if (is_nid_out_jack_pin(cfg, nid)) continue; /* already has an unsol event */ pinctl = snd_hda_codec_read(codec, nid, 0, @@ -4868,7 +4870,14 @@ static int find_mute_led_cfg(struct hda_codec *codec, int default_polarity) /* BIOS bug: unfilled OEM string */ if (strstr(dev->name, "HP_Mute_LED_P_G")) { set_hp_led_gpio(codec); - spec->gpio_led_polarity = 1; + switch (codec->subsystem_id) { + case 0x103c148a: + spec->gpio_led_polarity = 0; + break; + default: + spec->gpio_led_polarity = 1; + break; + } return 1; } } |