Lines Matching refs:pcm
862 static void i2sbus_private_free(struct snd_pcm *pcm) in i2sbus_private_free() argument
864 struct i2sbus_dev *i2sdev = snd_pcm_chip(pcm); in i2sbus_private_free()
867 i2sdev->sound.pcm = NULL; in i2sbus_private_free()
964 if (!dev->pcm) { in i2sbus_attach_codec()
966 &dev->pcm); in i2sbus_attach_codec()
978 if (dev->pcm->card != card) { in i2sbus_attach_codec()
985 err = snd_pcm_new_stream(dev->pcm, SNDRV_PCM_STREAM_PLAYBACK, 1); in i2sbus_attach_codec()
988 snd_pcm_set_ops(dev->pcm, SNDRV_PCM_STREAM_PLAYBACK, in i2sbus_attach_codec()
990 dev->pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].dev.parent = in i2sbus_attach_codec()
996 if (dev->pcm->card != card) { in i2sbus_attach_codec()
1002 err = snd_pcm_new_stream(dev->pcm, SNDRV_PCM_STREAM_CAPTURE, 1); in i2sbus_attach_codec()
1005 snd_pcm_set_ops(dev->pcm, SNDRV_PCM_STREAM_CAPTURE, in i2sbus_attach_codec()
1007 dev->pcm->streams[SNDRV_PCM_STREAM_CAPTURE].dev.parent = in i2sbus_attach_codec()
1018 err = snd_device_register(card, dev->pcm); in i2sbus_attach_codec()
1026 dev->pcm->private_data = i2sdev; in i2sbus_attach_codec()
1027 dev->pcm->private_free = i2sbus_private_free; in i2sbus_attach_codec()
1031 dev->pcm, SNDRV_DMA_TYPE_DEV, in i2sbus_attach_codec()
1063 if (list_empty(&dev->codec_list) && dev->pcm) { in i2sbus_detach_codec()
1065 snd_device_free(dev->pcm->card, dev->pcm); in i2sbus_detach_codec()