Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 272a4870 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

Merge branch 'fix/misc' into topic/misc

parents 5495ffbd c37279b9
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -68,6 +68,7 @@ MODULE_PARM_DESC(enable, "Enable FM801 soundcard.");
module_param_array(tea575x_tuner, int, NULL, 0444);
MODULE_PARM_DESC(tea575x_tuner, "TEA575x tuner access method (0 = auto, 1 = SF256-PCS, 2=SF256-PCP, 3=SF64-PCR, 8=disable, +16=tuner-only).");

#define TUNER_DISABLED		(1<<3)
#define TUNER_ONLY		(1<<4)
#define TUNER_TYPE_MASK		(~TUNER_ONLY & 0xFFFF)

@@ -1150,6 +1151,7 @@ static int snd_fm801_free(struct fm801 *chip)

      __end_hw:
#ifdef CONFIG_SND_FM801_TEA575X_BOOL
	if (!(chip->tea575x_tuner & TUNER_DISABLED))
		snd_tea575x_exit(&chip->tea);
#endif
	if (chip->irq >= 0)
@@ -1236,7 +1238,6 @@ static int __devinit snd_fm801_create(struct snd_card *card,
	    (tea575x_tuner & TUNER_TYPE_MASK) < 4) {
		if (snd_tea575x_init(&chip->tea)) {
			snd_printk(KERN_ERR "TEA575x radio not found\n");
			snd_fm801_free(chip);
			return -ENODEV;
		}
	} else if ((tea575x_tuner & TUNER_TYPE_MASK) == 0) {
@@ -1251,11 +1252,15 @@ static int __devinit snd_fm801_create(struct snd_card *card,
		}
		if (tea575x_tuner == 4) {
			snd_printk(KERN_ERR "TEA575x radio not found\n");
			snd_fm801_free(chip);
			return -ENODEV;
			chip->tea575x_tuner = TUNER_DISABLED;
		}
	}
	if (!(chip->tea575x_tuner & TUNER_DISABLED)) {
		strlcpy(chip->tea.card,
			snd_fm801_tea575x_gpios[(tea575x_tuner &
						 TUNER_TYPE_MASK) - 1].name,
			sizeof(chip->tea.card));
	}
	strlcpy(chip->tea.card, snd_fm801_tea575x_gpios[(tea575x_tuner & TUNER_TYPE_MASK) - 1].name, sizeof(chip->tea.card));
#endif

	*rchip = chip;
+5 −4
Original line number Diff line number Diff line
@@ -168,7 +168,7 @@ struct alc_spec {
	unsigned int auto_mic_valid_imux:1;	/* valid imux for auto-mic */
	unsigned int automute:1;	/* HP automute enabled */
	unsigned int detect_line:1;	/* Line-out detection enabled */
	unsigned int automute_lines:1;	/* automute line-out as well */
	unsigned int automute_lines:1;	/* automute line-out as well; NOP when automute_hp_lo isn't set */
	unsigned int automute_hp_lo:1;	/* both HP and LO available */

	/* other flags */
@@ -551,7 +551,7 @@ static void update_speakers(struct hda_codec *codec)
	if (spec->autocfg.line_out_pins[0] == spec->autocfg.hp_pins[0] ||
	    spec->autocfg.line_out_pins[0] == spec->autocfg.speaker_pins[0])
		return;
	if (!spec->automute_lines || !spec->automute)
	if (!spec->automute || (spec->automute_hp_lo && !spec->automute_lines))
		on = 0;
	else
		on = spec->jack_present;
@@ -803,7 +803,7 @@ static int alc_automute_mode_get(struct snd_kcontrol *kcontrol,
	unsigned int val;
	if (!spec->automute)
		val = 0;
	else if (!spec->automute_lines)
	else if (!spec->automute_hp_lo || !spec->automute_lines)
		val = 1;
	else
		val = 2;
@@ -824,7 +824,8 @@ static int alc_automute_mode_put(struct snd_kcontrol *kcontrol,
		spec->automute = 0;
		break;
	case 1:
		if (spec->automute && !spec->automute_lines)
		if (spec->automute &&
		    (!spec->automute_hp_lo || !spec->automute_lines))
			return 0;
		spec->automute = 1;
		spec->automute_lines = 0;
+1 −0
Original line number Diff line number Diff line
@@ -6573,6 +6573,7 @@ static const struct hda_codec_preset snd_hda_preset_sigmatel[] = {
	{ .id = 0x111d76cc, .name = "92HD89F3", .patch = patch_stac92hd73xx },
	{ .id = 0x111d76cd, .name = "92HD89F2", .patch = patch_stac92hd73xx },
	{ .id = 0x111d76ce, .name = "92HD89F1", .patch = patch_stac92hd73xx },
	{ .id = 0x111d76df, .name = "92HD93BXX", .patch = patch_stac92hd83xxx},
	{ .id = 0x111d76e0, .name = "92HD91BXX", .patch = patch_stac92hd83xxx},
	{ .id = 0x111d76e3, .name = "92HD98BXX", .patch = patch_stac92hd83xxx},
	{ .id = 0x111d76e5, .name = "92HD99BXX", .patch = patch_stac92hd83xxx},