This is a preliminary patch for a smooth multi-codec support, and it
introduces a new flag, force_pin_prefix, to struct hda_codec.
This flag is used to force to add the pin location prefix to each
input pin.  For example, when there is only one microphone pin,
usually the auto-parser assigns the string "Mic".  With this flag on,
it'll be like "Front Mic".  Also, the creation of "Master" or "PCM"
playback volume for a single pin is suppressed, too.
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=195305
Signed-off-by: Takashi Iwai <tiwai@suse.de>
                has_multiple_pins = 1;
        if (has_multiple_pins && type == AUTO_PIN_MIC)
                has_multiple_pins &= check_mic_location_need(codec, cfg, input);
+       has_multiple_pins |= codec->force_pin_prefix;
        return hda_get_input_pin_label(codec, &cfg->inputs[input],
                                       cfg->inputs[input].pin,
                                       has_multiple_pins);
 
        unsigned int dump_coef:1; /* dump processing coefs in codec proc file */
        unsigned int power_save_node:1; /* advanced PM for each widget */
        unsigned int auto_runtime_pm:1; /* enable automatic codec runtime pm */
+       unsigned int force_pin_prefix:1; /* Add location prefix */
 #ifdef CONFIG_PM
        unsigned long power_on_acct;
        unsigned long power_off_acct;
 
 
        *index = 0;
        if (cfg->line_outs == 1 && !spec->multi_ios &&
+           !codec->force_pin_prefix &&
            !cfg->hp_outs && !cfg->speaker_outs)
                return spec->vmaster_mute.hook ? "PCM" : "Master";
 
         * use it master (or "PCM" if a vmaster hook is present)
         */
        if (spec->multiout.num_dacs == 1 && !spec->mixer_nid &&
+           !codec->force_pin_prefix &&
            !spec->multiout.hp_out_nid[0] && !spec->multiout.extra_out_nid[0])
                return spec->vmaster_mute.hook ? "PCM" : "Master";