aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pcmcia
diff options
context:
space:
mode:
Diffstat (limited to 'sound/pcmcia')
-rw-r--r--sound/pcmcia/pdaudiocf/pdaudiocf.c12
-rw-r--r--sound/pcmcia/pdaudiocf/pdaudiocf.h1
-rw-r--r--sound/pcmcia/pdaudiocf/pdaudiocf_core.c1
-rw-r--r--sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c1
-rw-r--r--sound/pcmcia/vx/vxpocket.c11
-rw-r--r--sound/pcmcia/vx/vxpocket.h1
6 files changed, 7 insertions, 20 deletions
diff --git a/sound/pcmcia/pdaudiocf/pdaudiocf.c b/sound/pcmcia/pdaudiocf/pdaudiocf.c
index edaa729126bb..df110df52a8b 100644
--- a/sound/pcmcia/pdaudiocf/pdaudiocf.c
+++ b/sound/pcmcia/pdaudiocf/pdaudiocf.c
@@ -142,12 +142,7 @@ static int snd_pdacf_probe(struct pcmcia_device *link)
142 link->io.Attributes1 = IO_DATA_PATH_WIDTH_AUTO; 142 link->io.Attributes1 = IO_DATA_PATH_WIDTH_AUTO;
143 link->io.NumPorts1 = 16; 143 link->io.NumPorts1 = 16;
144 144
145 link->irq.Attributes = IRQ_TYPE_EXCLUSIVE | IRQ_FORCED_PULSE; 145 link->conf.Attributes = CONF_ENABLE_IRQ | CONF_ENABLE_PULSE_IRQ;
146 /* FIXME: This driver should be updated to allow for dynamic IRQ sharing */
147 /* link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING | IRQ_FORCED_PULSE; */
148
149 link->irq.Handler = pdacf_interrupt;
150 link->conf.Attributes = CONF_ENABLE_IRQ;
151 link->conf.IntType = INT_MEMORY_AND_IO; 146 link->conf.IntType = INT_MEMORY_AND_IO;
152 link->conf.ConfigIndex = 1; 147 link->conf.ConfigIndex = 1;
153 link->conf.Present = PRESENT_OPTION; 148 link->conf.Present = PRESENT_OPTION;
@@ -228,7 +223,7 @@ static int pdacf_config(struct pcmcia_device *link)
228 if (ret) 223 if (ret)
229 goto failed; 224 goto failed;
230 225
231 ret = pcmcia_request_irq(link, &link->irq); 226 ret = pcmcia_request_exclusive_irq(link, pdacf_interrupt);
232 if (ret) 227 if (ret)
233 goto failed; 228 goto failed;
234 229
@@ -236,10 +231,9 @@ static int pdacf_config(struct pcmcia_device *link)
236 if (ret) 231 if (ret)
237 goto failed; 232 goto failed;
238 233
239 if (snd_pdacf_assign_resources(pdacf, link->io.BasePort1, link->irq.AssignedIRQ) < 0) 234 if (snd_pdacf_assign_resources(pdacf, link->io.BasePort1, link->irq) < 0)
240 goto failed; 235 goto failed;
241 236
242 link->dev_node = &pdacf->node;
243 return 0; 237 return 0;
244 238
245failed: 239failed:
diff --git a/sound/pcmcia/pdaudiocf/pdaudiocf.h b/sound/pcmcia/pdaudiocf/pdaudiocf.h
index b0601838112d..a0a7ec64222a 100644
--- a/sound/pcmcia/pdaudiocf/pdaudiocf.h
+++ b/sound/pcmcia/pdaudiocf/pdaudiocf.h
@@ -117,7 +117,6 @@ struct snd_pdacf {
117 117
118 /* pcmcia stuff */ 118 /* pcmcia stuff */
119 struct pcmcia_device *p_dev; 119 struct pcmcia_device *p_dev;
120 dev_node_t node;
121}; 120};
122 121
123static inline void pdacf_reg_write(struct snd_pdacf *chip, unsigned char reg, unsigned short val) 122static inline void pdacf_reg_write(struct snd_pdacf *chip, unsigned char reg, unsigned short val)
diff --git a/sound/pcmcia/pdaudiocf/pdaudiocf_core.c b/sound/pcmcia/pdaudiocf/pdaudiocf_core.c
index 5d2afa0b0ce4..9dce0bde5c05 100644
--- a/sound/pcmcia/pdaudiocf/pdaudiocf_core.c
+++ b/sound/pcmcia/pdaudiocf/pdaudiocf_core.c
@@ -19,6 +19,7 @@
19 */ 19 */
20 20
21#include <linux/delay.h> 21#include <linux/delay.h>
22#include <linux/slab.h>
22#include <sound/core.h> 23#include <sound/core.h>
23#include <sound/info.h> 24#include <sound/info.h>
24#include "pdaudiocf.h" 25#include "pdaudiocf.h"
diff --git a/sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c b/sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c
index 0d668f471620..43f995a3f960 100644
--- a/sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c
+++ b/sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c
@@ -20,7 +20,6 @@
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 */ 21 */
22 22
23#include <linux/slab.h>
24#include <linux/delay.h> 23#include <linux/delay.h>
25#include <sound/core.h> 24#include <sound/core.h>
26#include <sound/asoundef.h> 25#include <sound/asoundef.h>
diff --git a/sound/pcmcia/vx/vxpocket.c b/sound/pcmcia/vx/vxpocket.c
index 7be3b3357045..624b47a85f0a 100644
--- a/sound/pcmcia/vx/vxpocket.c
+++ b/sound/pcmcia/vx/vxpocket.c
@@ -21,6 +21,7 @@
21 21
22#include <linux/init.h> 22#include <linux/init.h>
23#include <linux/moduleparam.h> 23#include <linux/moduleparam.h>
24#include <linux/slab.h>
24#include <sound/core.h> 25#include <sound/core.h>
25#include "vxpocket.h" 26#include "vxpocket.h"
26#include <pcmcia/ciscode.h> 27#include <pcmcia/ciscode.h>
@@ -161,10 +162,6 @@ static int snd_vxpocket_new(struct snd_card *card, int ibl,
161 link->io.Attributes1 = IO_DATA_PATH_WIDTH_AUTO; 162 link->io.Attributes1 = IO_DATA_PATH_WIDTH_AUTO;
162 link->io.NumPorts1 = 16; 163 link->io.NumPorts1 = 16;
163 164
164 link->irq.Attributes = IRQ_TYPE_EXCLUSIVE;
165
166 link->irq.Handler = &snd_vx_irq_handler;
167
168 link->conf.Attributes = CONF_ENABLE_IRQ; 165 link->conf.Attributes = CONF_ENABLE_IRQ;
169 link->conf.IntType = INT_MEMORY_AND_IO; 166 link->conf.IntType = INT_MEMORY_AND_IO;
170 link->conf.ConfigIndex = 1; 167 link->conf.ConfigIndex = 1;
@@ -214,7 +211,6 @@ static int snd_vxpocket_assign_resources(struct vx_core *chip, int port, int irq
214static int vxpocket_config(struct pcmcia_device *link) 211static int vxpocket_config(struct pcmcia_device *link)
215{ 212{
216 struct vx_core *chip = link->priv; 213 struct vx_core *chip = link->priv;
217 struct snd_vxpocket *vxp = (struct snd_vxpocket *)chip;
218 int ret; 214 int ret;
219 215
220 snd_printdd(KERN_DEBUG "vxpocket_config called\n"); 216 snd_printdd(KERN_DEBUG "vxpocket_config called\n");
@@ -234,7 +230,7 @@ static int vxpocket_config(struct pcmcia_device *link)
234 if (ret) 230 if (ret)
235 goto failed; 231 goto failed;
236 232
237 ret = pcmcia_request_irq(link, &link->irq); 233 ret = pcmcia_request_exclusive_irq(link, snd_vx_irq_handler);
238 if (ret) 234 if (ret)
239 goto failed; 235 goto failed;
240 236
@@ -245,10 +241,9 @@ static int vxpocket_config(struct pcmcia_device *link)
245 chip->dev = &link->dev; 241 chip->dev = &link->dev;
246 snd_card_set_dev(chip->card, chip->dev); 242 snd_card_set_dev(chip->card, chip->dev);
247 243
248 if (snd_vxpocket_assign_resources(chip, link->io.BasePort1, link->irq.AssignedIRQ) < 0) 244 if (snd_vxpocket_assign_resources(chip, link->io.BasePort1, link->irq) < 0)
249 goto failed; 245 goto failed;
250 246
251 link->dev_node = &vxp->node;
252 return 0; 247 return 0;
253 248
254failed: 249failed:
diff --git a/sound/pcmcia/vx/vxpocket.h b/sound/pcmcia/vx/vxpocket.h
index 27ea002294c0..ea4df16a28ef 100644
--- a/sound/pcmcia/vx/vxpocket.h
+++ b/sound/pcmcia/vx/vxpocket.h
@@ -43,7 +43,6 @@ struct snd_vxpocket {
43 43
44 /* pcmcia stuff */ 44 /* pcmcia stuff */
45 struct pcmcia_device *p_dev; 45 struct pcmcia_device *p_dev;
46 dev_node_t node;
47}; 46};
48 47
49extern struct snd_vx_ops snd_vxpocket_ops; 48extern struct snd_vx_ops snd_vxpocket_ops;