mirror of https://gitee.com/openkylin/linux.git
ALSA: asihpi: Convert timers to use timer_setup()
In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new timer_setup() and from_timer() to pass the timer pointer explicitly. Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
38e9a80f66
commit
394ca81cb4
|
@ -749,9 +749,9 @@ static inline unsigned int modulo_min(unsigned int a, unsigned int b,
|
||||||
|
|
||||||
/** Timer function, equivalent to interrupt service routine for cards
|
/** Timer function, equivalent to interrupt service routine for cards
|
||||||
*/
|
*/
|
||||||
static void snd_card_asihpi_timer_function(unsigned long data)
|
static void snd_card_asihpi_timer_function(struct timer_list *t)
|
||||||
{
|
{
|
||||||
struct snd_card_asihpi_pcm *dpcm = (struct snd_card_asihpi_pcm *)data;
|
struct snd_card_asihpi_pcm *dpcm = from_timer(dpcm, t, timer);
|
||||||
struct snd_pcm_substream *substream = dpcm->substream;
|
struct snd_pcm_substream *substream = dpcm->substream;
|
||||||
struct snd_card_asihpi *card = snd_pcm_substream_chip(substream);
|
struct snd_card_asihpi *card = snd_pcm_substream_chip(substream);
|
||||||
struct snd_pcm_runtime *runtime;
|
struct snd_pcm_runtime *runtime;
|
||||||
|
@ -948,7 +948,7 @@ static void snd_card_asihpi_int_task(unsigned long data)
|
||||||
asihpi = (struct snd_card_asihpi *)a->snd_card->private_data;
|
asihpi = (struct snd_card_asihpi *)a->snd_card->private_data;
|
||||||
if (asihpi->llmode_streampriv)
|
if (asihpi->llmode_streampriv)
|
||||||
snd_card_asihpi_timer_function(
|
snd_card_asihpi_timer_function(
|
||||||
(unsigned long)asihpi->llmode_streampriv);
|
&asihpi->llmode_streampriv->timer);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void snd_card_asihpi_isr(struct hpi_adapter *a)
|
static void snd_card_asihpi_isr(struct hpi_adapter *a)
|
||||||
|
@ -1059,8 +1059,7 @@ static int snd_card_asihpi_playback_open(struct snd_pcm_substream *substream)
|
||||||
If internal and other stream playing, can't switch
|
If internal and other stream playing, can't switch
|
||||||
*/
|
*/
|
||||||
|
|
||||||
setup_timer(&dpcm->timer, snd_card_asihpi_timer_function,
|
timer_setup(&dpcm->timer, snd_card_asihpi_timer_function, 0);
|
||||||
(unsigned long) dpcm);
|
|
||||||
dpcm->substream = substream;
|
dpcm->substream = substream;
|
||||||
runtime->private_data = dpcm;
|
runtime->private_data = dpcm;
|
||||||
runtime->private_free = snd_card_asihpi_runtime_free;
|
runtime->private_free = snd_card_asihpi_runtime_free;
|
||||||
|
@ -1240,8 +1239,7 @@ static int snd_card_asihpi_capture_open(struct snd_pcm_substream *substream)
|
||||||
if (err)
|
if (err)
|
||||||
return -EIO;
|
return -EIO;
|
||||||
|
|
||||||
setup_timer(&dpcm->timer, snd_card_asihpi_timer_function,
|
timer_setup(&dpcm->timer, snd_card_asihpi_timer_function, 0);
|
||||||
(unsigned long) dpcm);
|
|
||||||
dpcm->substream = substream;
|
dpcm->substream = substream;
|
||||||
runtime->private_data = dpcm;
|
runtime->private_data = dpcm;
|
||||||
runtime->private_free = snd_card_asihpi_runtime_free;
|
runtime->private_free = snd_card_asihpi_runtime_free;
|
||||||
|
|
Loading…
Reference in New Issue