Changeset 717 for GPL/trunk/alsa-kernel/pci/trident/trident.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/trident/trident.c
r703 r717 72 72 } 73 73 74 err = snd_ card_new(&pci->dev, index[dev], id[dev], THIS_MODULE,75 0, &card);74 err = snd_devm_card_new(&pci->dev, index[dev], id[dev], THIS_MODULE, 75 sizeof(*trident), &card); 76 76 if (err < 0) 77 77 return err; 78 trident = card->private_data; 78 79 79 80 err = snd_trident_create(card, pci, 80 81 pcm_channels[dev], 81 82 ((pci->vendor << 16) | pci->device) == TRIDENT_DEVICE_ID_SI7018 ? 1 : 2, 82 wavetable_size[dev], 83 &trident); 84 if (err < 0) { 85 snd_card_free(card); 83 wavetable_size[dev]); 84 if (err < 0) 86 85 return err; 87 }88 card->private_data = trident;89 86 90 87 switch (trident->device) { … … 112 109 113 110 err = snd_trident_pcm(trident, pcm_dev++); 114 if (err < 0) { 115 snd_card_free(card); 111 if (err < 0) 116 112 return err; 117 }118 113 switch (trident->device) { 119 114 case TRIDENT_DEVICE_ID_DX: 120 115 case TRIDENT_DEVICE_ID_NX: 121 116 err = snd_trident_foldback_pcm(trident, pcm_dev++); 122 if (err < 0) { 123 snd_card_free(card); 117 if (err < 0) 124 118 return err; 125 }126 119 break; 127 120 } 128 121 if (trident->device == TRIDENT_DEVICE_ID_NX || trident->device == TRIDENT_DEVICE_ID_SI7018) { 129 122 err = snd_trident_spdif_pcm(trident, pcm_dev++); 130 if (err < 0) { 131 snd_card_free(card); 123 if (err < 0) 132 124 return err; 133 }134 125 } 135 126 if (trident->device != TRIDENT_DEVICE_ID_SI7018) { … … 139 130 MPU401_INFO_IRQ_HOOK, 140 131 -1, &trident->rmidi); 141 if (err < 0) { 142 snd_card_free(card); 132 if (err < 0) 143 133 return err; 144 }145 134 } 146 135 … … 148 137 149 138 err = snd_card_register(card); 150 if (err < 0) { 151 snd_card_free(card); 139 if (err < 0) 152 140 return err; 153 }154 141 pci_set_drvdata(pci, card); 155 142 dev++; 156 143 return 0; 157 }158 159 static void snd_trident_remove(struct pci_dev *pci)160 {161 snd_card_free(pci_get_drvdata(pci));162 144 } 163 145 … … 166 148 .id_table = snd_trident_ids, 167 149 .probe = snd_trident_probe, 168 .remove = snd_trident_remove,169 150 #ifdef CONFIG_PM_SLEEP 170 151 .driver = {
Note:
See TracChangeset
for help on using the changeset viewer.