Changeset 717 for GPL/trunk/alsa-kernel/pci/emu10k1/emu10k1.c
- Timestamp:
- Aug 7, 2022, 6:11:12 PM (3 years ago)
- Location:
- GPL/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
GPL/trunk
- Property svn:mergeinfo changed
/GPL/branches/uniaud32-next merged: 710-716
- Property svn:mergeinfo changed
-
GPL/trunk/alsa-kernel/pci/emu10k1/emu10k1.c
r703 r717 114 114 } 115 115 116 err = snd_card_new(&pci->dev, index[dev], id[dev], THIS_MODULE, 117 0, &card); 118 if (err < 0) 119 return err; 116 err = snd_devm_card_new(&pci->dev, index[dev], id[dev], THIS_MODULE, 117 sizeof(*emu), &card); 118 if (err < 0) 119 return err; 120 emu = card->private_data; 121 120 122 if (max_buffer_size[dev] < 32) 121 123 max_buffer_size[dev] = 32; … … 124 126 err = snd_emu10k1_create(card, pci, extin[dev], extout[dev], 125 127 (long)max_buffer_size[dev] * 1024 * 1024, 126 enable_ir[dev], subsystem[dev], 127 &emu); 128 if (err < 0) 129 goto error; 130 card->private_data = emu; 128 enable_ir[dev], subsystem[dev]); 129 if (err < 0) 130 return err; 131 131 emu->delay_pcm_irq = delay_pcm_irq[dev] & 0x1f; 132 132 err = snd_emu10k1_pcm(emu, 0); 133 133 if (err < 0) 134 goto error;134 return err; 135 135 err = snd_emu10k1_pcm_mic(emu, 1); 136 136 if (err < 0) 137 goto error;137 return err; 138 138 err = snd_emu10k1_pcm_efx(emu, 2); 139 139 if (err < 0) 140 goto error;140 return err; 141 141 /* This stores the periods table. */ 142 142 if (emu->card_capabilities->ca0151_chip) { /* P16V */ 143 err = snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, &pci->dev, 144 1024, &emu->p16v_buffer); 145 if (err < 0) 146 goto error; 147 } 148 143 emu->p16v_buffer = 144 snd_devm_alloc_pages(&pci->dev, SNDRV_DMA_TYPE_DEV, 1024); 145 if (!emu->p16v_buffer) 146 return -ENOMEM; 147 } 149 148 err = snd_emu10k1_mixer(emu, 0, 3); 150 149 if (err < 0) 151 goto error;150 return err; 152 151 153 152 err = snd_emu10k1_timer(emu, 0); 154 153 if (err < 0) 155 goto error;154 return err; 156 155 157 156 err = snd_emu10k1_pcm_multi(emu, 3); 158 157 if (err < 0) 159 goto error;158 return err; 160 159 if (emu->card_capabilities->ca0151_chip) { /* P16V */ 161 160 err = snd_p16v_pcm(emu, 4); 162 161 if (err < 0) 163 goto error;162 return err; 164 163 } 165 164 if (emu->audigy) { 166 165 err = snd_emu10k1_audigy_midi(emu); 167 166 if (err < 0) 168 goto error;167 return err; 169 168 } else { 170 169 err = snd_emu10k1_midi(emu); 171 170 if (err < 0) 172 goto error;171 return err; 173 172 } 174 173 err = snd_emu10k1_fx8010_new(emu, 0); 175 174 if (err < 0) 176 goto error;175 return err; 177 176 #ifdef ENABLE_SYNTH 178 177 if (snd_seq_device_new(card, 1, SNDRV_SEQ_DEV_ID_EMU10K1_SYNTH, … … 202 201 err = snd_card_register(card); 203 202 if (err < 0) 204 goto error;203 return err; 205 204 206 205 if (emu->card_capabilities->emu_model) … … 210 209 dev++; 211 210 return 0; 212 213 error:214 snd_card_free(card);215 return err;216 211 } 217 218 static void snd_card_emu10k1_remove(struct pci_dev *pci)219 {220 snd_card_free(pci_get_drvdata(pci));221 }222 223 212 224 213 #ifdef CONFIG_PM_SLEEP … … 278 267 .id_table = snd_emu10k1_ids, 279 268 .probe = snd_card_emu10k1_probe, 280 .remove = snd_card_emu10k1_remove,281 269 .driver = { 282 270 .pm = SND_EMU10K1_PM_OPS,
Note:
See TracChangeset
for help on using the changeset viewer.