es1688.c (05668381140309088443bf5dc53add4104610fbb) | es1688.c (788c6043335590e0a483fdc18f85b1405a157bf9) |
---|---|
1/* 2 * Driver for generic ESS AudioDrive ESx688 soundcards 3 * Copyright (c) by Jaroslav Kysela <perex@suse.cz> 4 * 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License, or --- 59 unchanged lines hidden (view full) --- 68MODULE_PARM_DESC(mpu_irq, "MPU-401 IRQ # for ESx688 driver."); 69module_param_array(dma8, int, NULL, 0444); 70MODULE_PARM_DESC(dma8, "8-bit DMA # for ESx688 driver."); 71 72static struct platform_device *devices[SNDRV_CARDS]; 73 74#define PFX "es1688: " 75 | 1/* 2 * Driver for generic ESS AudioDrive ESx688 soundcards 3 * Copyright (c) by Jaroslav Kysela <perex@suse.cz> 4 * 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License, or --- 59 unchanged lines hidden (view full) --- 68MODULE_PARM_DESC(mpu_irq, "MPU-401 IRQ # for ESx688 driver."); 69module_param_array(dma8, int, NULL, 0444); 70MODULE_PARM_DESC(dma8, "8-bit DMA # for ESx688 driver."); 71 72static struct platform_device *devices[SNDRV_CARDS]; 73 74#define PFX "es1688: " 75 |
76static int __init snd_es1688_probe(struct platform_device *pdev) | 76static int __devinit snd_es1688_probe(struct platform_device *pdev) |
77{ 78 int dev = pdev->id; 79 static int possible_irqs[] = {5, 9, 10, 7, -1}; 80 static int possible_dmas[] = {1, 3, 0, -1}; 81 int xirq, xdma, xmpu_irq; 82 struct snd_card *card; 83 struct snd_es1688 *chip; 84 struct snd_opl3 *opl3; --- 81 unchanged lines hidden (view full) --- 166 platform_set_drvdata(pdev, card); 167 return 0; 168 169 _err: 170 snd_card_free(card); 171 return err; 172} 173 | 77{ 78 int dev = pdev->id; 79 static int possible_irqs[] = {5, 9, 10, 7, -1}; 80 static int possible_dmas[] = {1, 3, 0, -1}; 81 int xirq, xdma, xmpu_irq; 82 struct snd_card *card; 83 struct snd_es1688 *chip; 84 struct snd_opl3 *opl3; --- 81 unchanged lines hidden (view full) --- 166 platform_set_drvdata(pdev, card); 167 return 0; 168 169 _err: 170 snd_card_free(card); 171 return err; 172} 173 |
174static int snd_es1688_remove(struct platform_device *devptr) | 174static int __devexit snd_es1688_remove(struct platform_device *devptr) |
175{ 176 snd_card_free(platform_get_drvdata(devptr)); 177 platform_set_drvdata(devptr, NULL); 178 return 0; 179} 180 181#define ES1688_DRIVER "snd_es1688" 182 183static struct platform_driver snd_es1688_driver = { 184 .probe = snd_es1688_probe, | 175{ 176 snd_card_free(platform_get_drvdata(devptr)); 177 platform_set_drvdata(devptr, NULL); 178 return 0; 179} 180 181#define ES1688_DRIVER "snd_es1688" 182 183static struct platform_driver snd_es1688_driver = { 184 .probe = snd_es1688_probe, |
185 .remove = snd_es1688_remove, | 185 .remove = __devexit_p(snd_es1688_remove), |
186 /* FIXME: suspend/resume */ 187 .driver = { 188 .name = ES1688_DRIVER 189 }, 190}; 191 192static void __init_or_module snd_es1688_unregister_all(void) 193{ --- 48 unchanged lines hidden --- | 186 /* FIXME: suspend/resume */ 187 .driver = { 188 .name = ES1688_DRIVER 189 }, 190}; 191 192static void __init_or_module snd_es1688_unregister_all(void) 193{ --- 48 unchanged lines hidden --- |