--- zzzz-none-000/linux-3.10.107/sound/drivers/aloop.c 2017-06-27 09:49:32.000000000 +0000 +++ scorpion-7490-727/linux-3.10.107/sound/drivers/aloop.c 2021-02-04 17:41:59.000000000 +0000 @@ -181,8 +181,7 @@ } tick = dpcm->period_size_frac - dpcm->irq_pos; tick = (tick + dpcm->pcm_bps - 1) / dpcm->pcm_bps; - dpcm->timer.expires = jiffies + tick; - add_timer(&dpcm->timer); + mod_timer(&dpcm->timer, jiffies + tick); } /* call in cable->lock */ @@ -1054,8 +1053,6 @@ return 0; } -#ifdef CONFIG_PROC_FS - static void print_dpcm_info(struct snd_info_buffer *buffer, struct loopback_pcm *dpcm, const char *id) @@ -1129,12 +1126,6 @@ return 0; } -#else /* !CONFIG_PROC_FS */ - -#define loopback_proc_new(loopback, cidx) do { } while (0) - -#endif - static int loopback_probe(struct platform_device *devptr) { struct snd_card *card; @@ -1142,8 +1133,8 @@ int dev = devptr->id; int err; - err = snd_card_create(index[dev], id[dev], THIS_MODULE, - sizeof(struct loopback), &card); + err = snd_card_new(&devptr->dev, index[dev], id[dev], THIS_MODULE, + sizeof(struct loopback), &card); if (err < 0) return err; loopback = card->private_data; @@ -1183,7 +1174,6 @@ static int loopback_remove(struct platform_device *devptr) { snd_card_free(platform_get_drvdata(devptr)); - platform_set_drvdata(devptr, NULL); return 0; } @@ -1221,7 +1211,6 @@ .remove = loopback_remove, .driver = { .name = SND_LOOPBACK_DRIVER, - .owner = THIS_MODULE, .pm = LOOPBACK_PM_OPS, }, };