--- zzzz-none-000/linux-3.10.107/sound/mips/sgio2audio.c 2017-06-27 09:49:32.000000000 +0000 +++ scorpion-7490-727/linux-3.10.107/sound/mips/sgio2audio.c 2021-02-04 17:41:59.000000000 +0000 @@ -201,17 +201,10 @@ static int sgio2audio_source_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) { - static const char *texts[3] = { + static const char * const texts[3] = { "Cam Mic", "Mic", "Line" }; - uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; - uinfo->count = 1; - uinfo->value.enumerated.items = 3; - if (uinfo->value.enumerated.item >= 3) - uinfo->value.enumerated.item = 1; - strcpy(uinfo->value.enumerated.name, - texts[uinfo->value.enumerated.item]); - return 0; + return snd_ctl_enum_info(uinfo, 1, 3, texts); } static int sgio2audio_source_get(struct snd_kcontrol *kcontrol, @@ -920,7 +913,7 @@ struct snd_sgio2audio *chip; int err; - err = snd_card_create(index, id, THIS_MODULE, 0, &card); + err = snd_card_new(&pdev->dev, index, id, THIS_MODULE, 0, &card); if (err < 0) return err; @@ -929,7 +922,6 @@ snd_card_free(card); return err; } - snd_card_set_dev(card, &pdev->dev); err = snd_sgio2audio_new_pcm(chip); if (err < 0) { @@ -971,7 +963,6 @@ .remove = snd_sgio2audio_remove, .driver = { .name = "sgio2audio", - .owner = THIS_MODULE, } };