aboutsummaryrefslogtreecommitdiffstats
path: root/sound/isa/ad1816a/ad1816a.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/isa/ad1816a/ad1816a.c')
-rw-r--r--sound/isa/ad1816a/ad1816a.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/sound/isa/ad1816a/ad1816a.c b/sound/isa/ad1816a/ad1816a.c
index 9660e598232c..bbcbf92a8ebe 100644
--- a/sound/isa/ad1816a/ad1816a.c
+++ b/sound/isa/ad1816a/ad1816a.c
@@ -156,6 +156,7 @@ static int __devinit snd_card_ad1816a_probe(int dev, struct pnp_card_link *pcard
156 struct snd_card_ad1816a *acard; 156 struct snd_card_ad1816a *acard;
157 struct snd_ad1816a *chip; 157 struct snd_ad1816a *chip;
158 struct snd_opl3 *opl3; 158 struct snd_opl3 *opl3;
159 struct snd_timer *timer;
159 160
160 error = snd_card_create(index[dev], id[dev], THIS_MODULE, 161 error = snd_card_create(index[dev], id[dev], THIS_MODULE,
161 sizeof(struct snd_card_ad1816a), &card); 162 sizeof(struct snd_card_ad1816a), &card);
@@ -195,6 +196,12 @@ static int __devinit snd_card_ad1816a_probe(int dev, struct pnp_card_link *pcard
195 return error; 196 return error;
196 } 197 }
197 198
199 error = snd_ad1816a_timer(chip, 0, &timer);
200 if (error < 0) {
201 snd_card_free(card);
202 return error;
203 }
204
198 if (mpu_port[dev] > 0) { 205 if (mpu_port[dev] > 0) {
199 if (snd_mpu401_uart_new(card, 0, MPU401_HW_MPU401, 206 if (snd_mpu401_uart_new(card, 0, MPU401_HW_MPU401,
200 mpu_port[dev], 0, mpu_irq[dev], IRQF_DISABLED, 207 mpu_port[dev], 0, mpu_irq[dev], IRQF_DISABLED,
@@ -208,11 +215,8 @@ static int __devinit snd_card_ad1816a_probe(int dev, struct pnp_card_link *pcard
208 OPL3_HW_AUTO, 0, &opl3) < 0) { 215 OPL3_HW_AUTO, 0, &opl3) < 0) {
209 printk(KERN_ERR PFX "no OPL device at 0x%lx-0x%lx.\n", fm_port[dev], fm_port[dev] + 2); 216 printk(KERN_ERR PFX "no OPL device at 0x%lx-0x%lx.\n", fm_port[dev], fm_port[dev] + 2);
210 } else { 217 } else {
211 if ((error = snd_opl3_timer_new(opl3, 1, 2)) < 0) { 218 error = snd_opl3_hwdep_new(opl3, 0, 1, NULL);
212 snd_card_free(card); 219 if (error < 0) {
213 return error;
214 }
215 if ((error = snd_opl3_hwdep_new(opl3, 0, 1, NULL)) < 0) {
216 snd_card_free(card); 220 snd_card_free(card);
217 return error; 221 return error;
218 } 222 }