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 ---