aboutsummaryrefslogtreecommitdiffstats
path: root/sound/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'sound/drivers')
-rw-r--r--sound/drivers/dummy.c124
-rw-r--r--sound/drivers/mtpav.c38
-rw-r--r--sound/drivers/serial-u16550.c46
-rw-r--r--sound/drivers/virmidi.c16
4 files changed, 115 insertions, 109 deletions
diff --git a/sound/drivers/dummy.c b/sound/drivers/dummy.c
index 8dfe5d49eafc..9c827b154458 100644
--- a/sound/drivers/dummy.c
+++ b/sound/drivers/dummy.c
@@ -42,7 +42,7 @@ MODULE_SUPPORTED_DEVICE("{{ALSA,Dummy soundcard}}");
42 42
43#if 0 /* emu10k1 emulation */ 43#if 0 /* emu10k1 emulation */
44#define MAX_BUFFER_SIZE (128 * 1024) 44#define MAX_BUFFER_SIZE (128 * 1024)
45static int emu10k1_playback_constraints(snd_pcm_runtime_t *runtime) 45static int emu10k1_playback_constraints(struct snd_pcm_runtime *runtime)
46{ 46{
47 int err; 47 int err;
48 if ((err = snd_pcm_hw_constraint_integer(runtime, SNDRV_PCM_HW_PARAM_PERIODS)) < 0) 48 if ((err = snd_pcm_hw_constraint_integer(runtime, SNDRV_PCM_HW_PARAM_PERIODS)) < 0)
@@ -149,15 +149,15 @@ MODULE_PARM_DESC(pcm_substreams, "PCM substreams # (1-16) for dummy driver.");
149#define MIXER_ADDR_CD 4 149#define MIXER_ADDR_CD 4
150#define MIXER_ADDR_LAST 4 150#define MIXER_ADDR_LAST 4
151 151
152typedef struct snd_card_dummy { 152struct snd_dummy {
153 snd_card_t *card; 153 struct snd_card *card;
154 spinlock_t mixer_lock; 154 spinlock_t mixer_lock;
155 int mixer_volume[MIXER_ADDR_LAST+1][2]; 155 int mixer_volume[MIXER_ADDR_LAST+1][2];
156 int capture_source[MIXER_ADDR_LAST+1][2]; 156 int capture_source[MIXER_ADDR_LAST+1][2];
157} snd_card_dummy_t; 157};
158 158
159typedef struct snd_card_dummy_pcm { 159struct snd_dummy_pcm {
160 snd_card_dummy_t *dummy; 160 struct snd_dummy *dummy;
161 spinlock_t lock; 161 spinlock_t lock;
162 struct timer_list timer; 162 struct timer_list timer;
163 unsigned int pcm_size; 163 unsigned int pcm_size;
@@ -166,27 +166,27 @@ typedef struct snd_card_dummy_pcm {
166 unsigned int pcm_jiffie; /* bytes per one jiffie */ 166 unsigned int pcm_jiffie; /* bytes per one jiffie */
167 unsigned int pcm_irq_pos; /* IRQ position */ 167 unsigned int pcm_irq_pos; /* IRQ position */
168 unsigned int pcm_buf_pos; /* position in buffer */ 168 unsigned int pcm_buf_pos; /* position in buffer */
169 snd_pcm_substream_t *substream; 169 struct snd_pcm_substream *substream;
170} snd_card_dummy_pcm_t; 170};
171 171
172static snd_card_t *snd_dummy_cards[SNDRV_CARDS] = SNDRV_DEFAULT_PTR; 172static struct snd_card *snd_dummy_cards[SNDRV_CARDS] = SNDRV_DEFAULT_PTR;
173 173
174 174
175static inline void snd_card_dummy_pcm_timer_start(snd_card_dummy_pcm_t *dpcm) 175static inline void snd_card_dummy_pcm_timer_start(struct snd_dummy_pcm *dpcm)
176{ 176{
177 dpcm->timer.expires = 1 + jiffies; 177 dpcm->timer.expires = 1 + jiffies;
178 add_timer(&dpcm->timer); 178 add_timer(&dpcm->timer);
179} 179}
180 180
181static inline void snd_card_dummy_pcm_timer_stop(snd_card_dummy_pcm_t *dpcm) 181static inline void snd_card_dummy_pcm_timer_stop(struct snd_dummy_pcm *dpcm)
182{ 182{
183 del_timer(&dpcm->timer); 183 del_timer(&dpcm->timer);
184} 184}
185 185
186static int snd_card_dummy_pcm_trigger(snd_pcm_substream_t *substream, int cmd) 186static int snd_card_dummy_pcm_trigger(struct snd_pcm_substream *substream, int cmd)
187{ 187{
188 snd_pcm_runtime_t *runtime = substream->runtime; 188 struct snd_pcm_runtime *runtime = substream->runtime;
189 snd_dummy_card_pcm_t *dpcm = runtime->private_data; 189 struct snd_dummy_pcm *dpcm = runtime->private_data;
190 int err = 0; 190 int err = 0;
191 191
192 spin_lock(&dpcm->lock); 192 spin_lock(&dpcm->lock);
@@ -201,10 +201,10 @@ static int snd_card_dummy_pcm_trigger(snd_pcm_substream_t *substream, int cmd)
201 return err; 201 return err;
202} 202}
203 203
204static int snd_card_dummy_pcm_prepare(snd_pcm_substream_t * substream) 204static int snd_card_dummy_pcm_prepare(struct snd_pcm_substream *substream)
205{ 205{
206 snd_pcm_runtime_t *runtime = substream->runtime; 206 struct snd_pcm_runtime *runtime = substream->runtime;
207 snd_card_dummy_pcm_t *dpcm = runtime->private_data; 207 struct snd_dummy_pcm *dpcm = runtime->private_data;
208 unsigned int bps; 208 unsigned int bps;
209 209
210 bps = runtime->rate * runtime->channels; 210 bps = runtime->rate * runtime->channels;
@@ -223,7 +223,7 @@ static int snd_card_dummy_pcm_prepare(snd_pcm_substream_t * substream)
223 223
224static void snd_card_dummy_pcm_timer_function(unsigned long data) 224static void snd_card_dummy_pcm_timer_function(unsigned long data)
225{ 225{
226 snd_card_dummy_pcm_t *dpcm = (snd_card_dummy_pcm_t *)data; 226 struct snd_dummy_pcm *dpcm = (struct snd_dummy_pcm *)data;
227 227
228 spin_lock(&dpcm->lock); 228 spin_lock(&dpcm->lock);
229 dpcm->timer.expires = 1 + jiffies; 229 dpcm->timer.expires = 1 + jiffies;
@@ -240,15 +240,15 @@ static void snd_card_dummy_pcm_timer_function(unsigned long data)
240 spin_unlock(&dpcm->lock); 240 spin_unlock(&dpcm->lock);
241} 241}
242 242
243static snd_pcm_uframes_t snd_card_dummy_pcm_pointer(snd_pcm_substream_t * substream) 243static snd_pcm_uframes_t snd_card_dummy_pcm_pointer(struct snd_pcm_substream *substream)
244{ 244{
245 snd_pcm_runtime_t *runtime = substream->runtime; 245 struct snd_pcm_runtime *runtime = substream->runtime;
246 snd_card_dummy_pcm_t *dpcm = runtime->private_data; 246 struct snd_dummy_pcm *dpcm = runtime->private_data;
247 247
248 return bytes_to_frames(runtime, dpcm->pcm_buf_pos); 248 return bytes_to_frames(runtime, dpcm->pcm_buf_pos);
249} 249}
250 250
251static snd_pcm_hardware_t snd_card_dummy_playback = 251static struct snd_pcm_hardware snd_card_dummy_playback =
252{ 252{
253 .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED | 253 .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
254 SNDRV_PCM_INFO_MMAP_VALID), 254 SNDRV_PCM_INFO_MMAP_VALID),
@@ -266,7 +266,7 @@ static snd_pcm_hardware_t snd_card_dummy_playback =
266 .fifo_size = 0, 266 .fifo_size = 0,
267}; 267};
268 268
269static snd_pcm_hardware_t snd_card_dummy_capture = 269static struct snd_pcm_hardware snd_card_dummy_capture =
270{ 270{
271 .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED | 271 .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
272 SNDRV_PCM_INFO_MMAP_VALID), 272 SNDRV_PCM_INFO_MMAP_VALID),
@@ -284,25 +284,25 @@ static snd_pcm_hardware_t snd_card_dummy_capture =
284 .fifo_size = 0, 284 .fifo_size = 0,
285}; 285};
286 286
287static void snd_card_dummy_runtime_free(snd_pcm_runtime_t *runtime) 287static void snd_card_dummy_runtime_free(struct snd_pcm_runtime *runtime)
288{ 288{
289 kfree(runtime->private_data); 289 kfree(runtime->private_data);
290} 290}
291 291
292static int snd_card_dummy_hw_params(snd_pcm_substream_t * substream, 292static int snd_card_dummy_hw_params(struct snd_pcm_substream *substream,
293 snd_pcm_hw_params_t * hw_params) 293 struct snd_pcm_hw_params *hw_params)
294{ 294{
295 return snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(hw_params)); 295 return snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(hw_params));
296} 296}
297 297
298static int snd_card_dummy_hw_free(snd_pcm_substream_t * substream) 298static int snd_card_dummy_hw_free(struct snd_pcm_substream *substream)
299{ 299{
300 return snd_pcm_lib_free_pages(substream); 300 return snd_pcm_lib_free_pages(substream);
301} 301}
302 302
303static snd_card_dummy_pcm_t *new_pcm_stream(snd_pcm_substream_t *substream) 303static struct snd_dummy_pcm *new_pcm_stream(struct snd_pcm_substream *substream)
304{ 304{
305 snd_card_dummy_pcm_t *dpcm; 305 struct snd_dummy_pcm *dpcm;
306 306
307 dpcm = kzalloc(sizeof(*dpcm), GFP_KERNEL); 307 dpcm = kzalloc(sizeof(*dpcm), GFP_KERNEL);
308 if (! dpcm) 308 if (! dpcm)
@@ -315,10 +315,10 @@ static snd_card_dummy_pcm_t *new_pcm_stream(snd_pcm_substream_t *substream)
315 return dpcm; 315 return dpcm;
316} 316}
317 317
318static int snd_card_dummy_playback_open(snd_pcm_substream_t * substream) 318static int snd_card_dummy_playback_open(struct snd_pcm_substream *substream)
319{ 319{
320 snd_pcm_runtime_t *runtime = substream->runtime; 320 struct snd_pcm_runtime *runtime = substream->runtime;
321 snd_card_dummy_pcm_t *dpcm; 321 struct snd_dummy_pcm *dpcm;
322 int err; 322 int err;
323 323
324 if ((dpcm = new_pcm_stream(substream)) == NULL) 324 if ((dpcm = new_pcm_stream(substream)) == NULL)
@@ -340,10 +340,10 @@ static int snd_card_dummy_playback_open(snd_pcm_substream_t * substream)
340 return 0; 340 return 0;
341} 341}
342 342
343static int snd_card_dummy_capture_open(snd_pcm_substream_t * substream) 343static int snd_card_dummy_capture_open(struct snd_pcm_substream *substream)
344{ 344{
345 snd_pcm_runtime_t *runtime = substream->runtime; 345 struct snd_pcm_runtime *runtime = substream->runtime;
346 snd_card_dummy_pcm_t *dpcm; 346 struct snd_dummy_pcm *dpcm;
347 int err; 347 int err;
348 348
349 if ((dpcm = new_pcm_stream(substream)) == NULL) 349 if ((dpcm = new_pcm_stream(substream)) == NULL)
@@ -365,17 +365,17 @@ static int snd_card_dummy_capture_open(snd_pcm_substream_t * substream)
365 return 0; 365 return 0;
366} 366}
367 367
368static int snd_card_dummy_playback_close(snd_pcm_substream_t * substream) 368static int snd_card_dummy_playback_close(struct snd_pcm_substream *substream)
369{ 369{
370 return 0; 370 return 0;
371} 371}
372 372
373static int snd_card_dummy_capture_close(snd_pcm_substream_t * substream) 373static int snd_card_dummy_capture_close(struct snd_pcm_substream *substream)
374{ 374{
375 return 0; 375 return 0;
376} 376}
377 377
378static snd_pcm_ops_t snd_card_dummy_playback_ops = { 378static struct snd_pcm_ops snd_card_dummy_playback_ops = {
379 .open = snd_card_dummy_playback_open, 379 .open = snd_card_dummy_playback_open,
380 .close = snd_card_dummy_playback_close, 380 .close = snd_card_dummy_playback_close,
381 .ioctl = snd_pcm_lib_ioctl, 381 .ioctl = snd_pcm_lib_ioctl,
@@ -386,7 +386,7 @@ static snd_pcm_ops_t snd_card_dummy_playback_ops = {
386 .pointer = snd_card_dummy_pcm_pointer, 386 .pointer = snd_card_dummy_pcm_pointer,
387}; 387};
388 388
389static snd_pcm_ops_t snd_card_dummy_capture_ops = { 389static struct snd_pcm_ops snd_card_dummy_capture_ops = {
390 .open = snd_card_dummy_capture_open, 390 .open = snd_card_dummy_capture_open,
391 .close = snd_card_dummy_capture_close, 391 .close = snd_card_dummy_capture_close,
392 .ioctl = snd_pcm_lib_ioctl, 392 .ioctl = snd_pcm_lib_ioctl,
@@ -397,12 +397,13 @@ static snd_pcm_ops_t snd_card_dummy_capture_ops = {
397 .pointer = snd_card_dummy_pcm_pointer, 397 .pointer = snd_card_dummy_pcm_pointer,
398}; 398};
399 399
400static int __init snd_card_dummy_pcm(snd_card_dummy_t *dummy, int device, int substreams) 400static int __init snd_card_dummy_pcm(struct snd_dummy *dummy, int device, int substreams)
401{ 401{
402 snd_pcm_t *pcm; 402 struct snd_pcm *pcm;
403 int err; 403 int err;
404 404
405 if ((err = snd_pcm_new(dummy->card, "Dummy PCM", device, substreams, substreams, &pcm)) < 0) 405 if ((err = snd_pcm_new(dummy->card, "Dummy PCM", device,
406 substreams, substreams, &pcm)) < 0)
406 return err; 407 return err;
407 snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_card_dummy_playback_ops); 408 snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_card_dummy_playback_ops);
408 snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_card_dummy_capture_ops); 409 snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_card_dummy_capture_ops);
@@ -421,7 +422,8 @@ static int __init snd_card_dummy_pcm(snd_card_dummy_t *dummy, int device, int su
421 .get = snd_dummy_volume_get, .put = snd_dummy_volume_put, \ 422 .get = snd_dummy_volume_get, .put = snd_dummy_volume_put, \
422 .private_value = addr } 423 .private_value = addr }
423 424
424static int snd_dummy_volume_info(snd_kcontrol_t * kcontrol, snd_ctl_elem_info_t * uinfo) 425static int snd_dummy_volume_info(struct snd_kcontrol *kcontrol,
426 struct snd_ctl_elem_info *uinfo)
425{ 427{
426 uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER; 428 uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER;
427 uinfo->count = 2; 429 uinfo->count = 2;
@@ -430,9 +432,10 @@ static int snd_dummy_volume_info(snd_kcontrol_t * kcontrol, snd_ctl_elem_info_t
430 return 0; 432 return 0;
431} 433}
432 434
433static int snd_dummy_volume_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) 435static int snd_dummy_volume_get(struct snd_kcontrol *kcontrol,
436 struct snd_ctl_elem_value *ucontrol)
434{ 437{
435 snd_card_dummy_t *dummy = snd_kcontrol_chip(kcontrol); 438 struct snd_dummy *dummy = snd_kcontrol_chip(kcontrol);
436 int addr = kcontrol->private_value; 439 int addr = kcontrol->private_value;
437 440
438 spin_lock_irq(&dummy->mixer_lock); 441 spin_lock_irq(&dummy->mixer_lock);
@@ -442,9 +445,10 @@ static int snd_dummy_volume_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t
442 return 0; 445 return 0;
443} 446}
444 447
445static int snd_dummy_volume_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) 448static int snd_dummy_volume_put(struct snd_kcontrol *kcontrol,
449 struct snd_ctl_elem_value *ucontrol)
446{ 450{
447 snd_card_dummy_t *dummy = snd_kcontrol_chip(kcontrol); 451 struct snd_dummy *dummy = snd_kcontrol_chip(kcontrol);
448 int change, addr = kcontrol->private_value; 452 int change, addr = kcontrol->private_value;
449 int left, right; 453 int left, right;
450 454
@@ -473,7 +477,8 @@ static int snd_dummy_volume_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t
473 .get = snd_dummy_capsrc_get, .put = snd_dummy_capsrc_put, \ 477 .get = snd_dummy_capsrc_get, .put = snd_dummy_capsrc_put, \
474 .private_value = addr } 478 .private_value = addr }
475 479
476static int snd_dummy_capsrc_info(snd_kcontrol_t * kcontrol, snd_ctl_elem_info_t * uinfo) 480static int snd_dummy_capsrc_info(struct snd_kcontrol *kcontrol,
481 struct snd_ctl_elem_info *uinfo)
477{ 482{
478 uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; 483 uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN;
479 uinfo->count = 2; 484 uinfo->count = 2;
@@ -482,9 +487,10 @@ static int snd_dummy_capsrc_info(snd_kcontrol_t * kcontrol, snd_ctl_elem_info_t
482 return 0; 487 return 0;
483} 488}
484 489
485static int snd_dummy_capsrc_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) 490static int snd_dummy_capsrc_get(struct snd_kcontrol *kcontrol,
491 struct snd_ctl_elem_value *ucontrol)
486{ 492{
487 snd_card_dummy_t *dummy = snd_kcontrol_chip(kcontrol); 493 struct snd_dummy *dummy = snd_kcontrol_chip(kcontrol);
488 int addr = kcontrol->private_value; 494 int addr = kcontrol->private_value;
489 495
490 spin_lock_irq(&dummy->mixer_lock); 496 spin_lock_irq(&dummy->mixer_lock);
@@ -494,9 +500,9 @@ static int snd_dummy_capsrc_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t
494 return 0; 500 return 0;
495} 501}
496 502
497static int snd_dummy_capsrc_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) 503static int snd_dummy_capsrc_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol)
498{ 504{
499 snd_card_dummy_t *dummy = snd_kcontrol_chip(kcontrol); 505 struct snd_dummy *dummy = snd_kcontrol_chip(kcontrol);
500 int change, addr = kcontrol->private_value; 506 int change, addr = kcontrol->private_value;
501 int left, right; 507 int left, right;
502 508
@@ -511,7 +517,7 @@ static int snd_dummy_capsrc_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t
511 return change; 517 return change;
512} 518}
513 519
514static snd_kcontrol_new_t snd_dummy_controls[] = { 520static struct snd_kcontrol_new snd_dummy_controls[] = {
515DUMMY_VOLUME("Master Volume", 0, MIXER_ADDR_MASTER), 521DUMMY_VOLUME("Master Volume", 0, MIXER_ADDR_MASTER),
516DUMMY_CAPSRC("Master Capture Switch", 0, MIXER_ADDR_MASTER), 522DUMMY_CAPSRC("Master Capture Switch", 0, MIXER_ADDR_MASTER),
517DUMMY_VOLUME("Synth Volume", 0, MIXER_ADDR_SYNTH), 523DUMMY_VOLUME("Synth Volume", 0, MIXER_ADDR_SYNTH),
@@ -524,9 +530,9 @@ DUMMY_VOLUME("CD Volume", 0, MIXER_ADDR_CD),
524DUMMY_CAPSRC("CD Capture Switch", 0, MIXER_ADDR_MASTER) 530DUMMY_CAPSRC("CD Capture Switch", 0, MIXER_ADDR_MASTER)
525}; 531};
526 532
527static int __init snd_card_dummy_new_mixer(snd_card_dummy_t * dummy) 533static int __init snd_card_dummy_new_mixer(struct snd_dummy *dummy)
528{ 534{
529 snd_card_t *card = dummy->card; 535 struct snd_card *card = dummy->card;
530 unsigned int idx; 536 unsigned int idx;
531 int err; 537 int err;
532 538
@@ -543,17 +549,17 @@ static int __init snd_card_dummy_new_mixer(snd_card_dummy_t * dummy)
543 549
544static int __init snd_card_dummy_probe(int dev) 550static int __init snd_card_dummy_probe(int dev)
545{ 551{
546 snd_card_t *card; 552 struct snd_card *card;
547 struct snd_card_dummy *dummy; 553 struct snd_dummy *dummy;
548 int idx, err; 554 int idx, err;
549 555
550 if (!enable[dev]) 556 if (!enable[dev])
551 return -ENODEV; 557 return -ENODEV;
552 card = snd_card_new(index[dev], id[dev], THIS_MODULE, 558 card = snd_card_new(index[dev], id[dev], THIS_MODULE,
553 sizeof(struct snd_card_dummy)); 559 sizeof(struct snd_dummy));
554 if (card == NULL) 560 if (card == NULL)
555 return -ENOMEM; 561 return -ENOMEM;
556 dummy = (struct snd_card_dummy *)card->private_data; 562 dummy = card->private_data;
557 dummy->card = card; 563 dummy->card = card;
558 for (idx = 0; idx < MAX_PCM_DEVICES && idx < pcm_devs[dev]; idx++) { 564 for (idx = 0; idx < MAX_PCM_DEVICES && idx < pcm_devs[dev]; idx++) {
559 if (pcm_substreams[dev] < 1) 565 if (pcm_substreams[dev] < 1)
diff --git a/sound/drivers/mtpav.c b/sound/drivers/mtpav.c
index e9d52c668edc..d32d5f6eee39 100644
--- a/sound/drivers/mtpav.c
+++ b/sound/drivers/mtpav.c
@@ -130,12 +130,12 @@ typedef struct mtpav_port {
130 u8 hwport; 130 u8 hwport;
131 u8 mode; 131 u8 mode;
132 u8 running_status; 132 u8 running_status;
133 snd_rawmidi_substream_t *input; 133 struct snd_rawmidi_substream *input;
134 snd_rawmidi_substream_t *output; 134 struct snd_rawmidi_substream *output;
135} mtpav_port_t; 135} mtpav_port_t;
136 136
137typedef struct mtpav { 137typedef struct mtpav {
138 snd_card_t *card; 138 struct snd_card *card;
139 unsigned long port; 139 unsigned long port;
140 struct resource *res_port; 140 struct resource *res_port;
141 int irq; /* interrupt (for inputs) */ 141 int irq; /* interrupt (for inputs) */
@@ -143,7 +143,7 @@ typedef struct mtpav {
143 int share_irq; /* number of accesses to input interrupts */ 143 int share_irq; /* number of accesses to input interrupts */
144 int istimer; /* number of accesses to timer interrupts */ 144 int istimer; /* number of accesses to timer interrupts */
145 struct timer_list timer; /* timer interrupts for outputs */ 145 struct timer_list timer; /* timer interrupts for outputs */
146 snd_rawmidi_t *rmidi; 146 struct snd_rawmidi *rmidi;
147 int num_ports; /* number of hw ports (1-8) */ 147 int num_ports; /* number of hw ports (1-8) */
148 mtpav_port_t ports[NUMPORTS]; /* all ports including computer, adat and bc */ 148 mtpav_port_t ports[NUMPORTS]; /* all ports including computer, adat and bc */
149 149
@@ -292,7 +292,7 @@ static void snd_mtpav_send_byte(mtpav_t *chip, u8 byte)
292 292
293/* call this with spin lock held */ 293/* call this with spin lock held */
294static void snd_mtpav_output_port_write(mtpav_port_t *port, 294static void snd_mtpav_output_port_write(mtpav_port_t *port,
295 snd_rawmidi_substream_t *substream) 295 struct snd_rawmidi_substream *substream)
296{ 296{
297 u8 outbyte; 297 u8 outbyte;
298 298
@@ -324,7 +324,7 @@ static void snd_mtpav_output_port_write(mtpav_port_t *port,
324 } while (snd_rawmidi_transmit(substream, &outbyte, 1) == 1); 324 } while (snd_rawmidi_transmit(substream, &outbyte, 1) == 1);
325} 325}
326 326
327static void snd_mtpav_output_write(snd_rawmidi_substream_t * substream) 327static void snd_mtpav_output_write(struct snd_rawmidi_substream *substream)
328{ 328{
329 mtpav_port_t *port = &mtp_card->ports[substream->number]; 329 mtpav_port_t *port = &mtp_card->ports[substream->number];
330 unsigned long flags; 330 unsigned long flags;
@@ -353,7 +353,7 @@ static void snd_mtpav_portscan(mtpav_t *chip) // put mtp into smart routing mode
353/* 353/*
354 */ 354 */
355 355
356static int snd_mtpav_input_open(snd_rawmidi_substream_t * substream) 356static int snd_mtpav_input_open(struct snd_rawmidi_substream *substream)
357{ 357{
358 unsigned long flags; 358 unsigned long flags;
359 mtpav_port_t *portp = &mtp_card->ports[substream->number]; 359 mtpav_port_t *portp = &mtp_card->ports[substream->number];
@@ -371,7 +371,7 @@ static int snd_mtpav_input_open(snd_rawmidi_substream_t * substream)
371/* 371/*
372 */ 372 */
373 373
374static int snd_mtpav_input_close(snd_rawmidi_substream_t *substream) 374static int snd_mtpav_input_close(struct snd_rawmidi_substream *substream)
375{ 375{
376 unsigned long flags; 376 unsigned long flags;
377 mtpav_port_t *portp = &mtp_card->ports[substream->number]; 377 mtpav_port_t *portp = &mtp_card->ports[substream->number];
@@ -392,7 +392,7 @@ static int snd_mtpav_input_close(snd_rawmidi_substream_t *substream)
392/* 392/*
393 */ 393 */
394 394
395static void snd_mtpav_input_trigger(snd_rawmidi_substream_t * substream, int up) 395static void snd_mtpav_input_trigger(struct snd_rawmidi_substream *substream, int up)
396{ 396{
397 unsigned long flags; 397 unsigned long flags;
398 mtpav_port_t *portp = &mtp_card->ports[substream->number]; 398 mtpav_port_t *portp = &mtp_card->ports[substream->number];
@@ -449,7 +449,7 @@ static void snd_mtpav_remove_output_timer(mtpav_t *chip)
449/* 449/*
450 */ 450 */
451 451
452static int snd_mtpav_output_open(snd_rawmidi_substream_t * substream) 452static int snd_mtpav_output_open(struct snd_rawmidi_substream *substream)
453{ 453{
454 unsigned long flags; 454 unsigned long flags;
455 mtpav_port_t *portp = &mtp_card->ports[substream->number]; 455 mtpav_port_t *portp = &mtp_card->ports[substream->number];
@@ -464,7 +464,7 @@ static int snd_mtpav_output_open(snd_rawmidi_substream_t * substream)
464/* 464/*
465 */ 465 */
466 466
467static int snd_mtpav_output_close(snd_rawmidi_substream_t * substream) 467static int snd_mtpav_output_close(struct snd_rawmidi_substream *substream)
468{ 468{
469 unsigned long flags; 469 unsigned long flags;
470 mtpav_port_t *portp = &mtp_card->ports[substream->number]; 470 mtpav_port_t *portp = &mtp_card->ports[substream->number];
@@ -479,7 +479,7 @@ static int snd_mtpav_output_close(snd_rawmidi_substream_t * substream)
479/* 479/*
480 */ 480 */
481 481
482static void snd_mtpav_output_trigger(snd_rawmidi_substream_t * substream, int up) 482static void snd_mtpav_output_trigger(struct snd_rawmidi_substream *substream, int up)
483{ 483{
484 unsigned long flags; 484 unsigned long flags;
485 mtpav_port_t *portp = &mtp_card->ports[substream->number]; 485 mtpav_port_t *portp = &mtp_card->ports[substream->number];
@@ -611,13 +611,13 @@ static int snd_mtpav_get_ISA(mtpav_t * mcard)
611/* 611/*
612 */ 612 */
613 613
614static snd_rawmidi_ops_t snd_mtpav_output = { 614static struct snd_rawmidi_ops snd_mtpav_output = {
615 .open = snd_mtpav_output_open, 615 .open = snd_mtpav_output_open,
616 .close = snd_mtpav_output_close, 616 .close = snd_mtpav_output_close,
617 .trigger = snd_mtpav_output_trigger, 617 .trigger = snd_mtpav_output_trigger,
618}; 618};
619 619
620static snd_rawmidi_ops_t snd_mtpav_input = { 620static struct snd_rawmidi_ops snd_mtpav_input = {
621 .open = snd_mtpav_input_open, 621 .open = snd_mtpav_input_open,
622 .close = snd_mtpav_input_close, 622 .close = snd_mtpav_input_close,
623 .trigger = snd_mtpav_input_trigger, 623 .trigger = snd_mtpav_input_trigger,
@@ -628,7 +628,7 @@ static snd_rawmidi_ops_t snd_mtpav_input = {
628 * get RAWMIDI resources 628 * get RAWMIDI resources
629 */ 629 */
630 630
631static void snd_mtpav_set_name(mtpav_t *chip, snd_rawmidi_substream_t *substream) 631static void snd_mtpav_set_name(mtpav_t *chip, struct snd_rawmidi_substream *substream)
632{ 632{
633 if (substream->number >= 0 && substream->number < chip->num_ports) 633 if (substream->number >= 0 && substream->number < chip->num_ports)
634 sprintf(substream->name, "MTP direct %d", (substream->number % chip->num_ports) + 1); 634 sprintf(substream->name, "MTP direct %d", (substream->number % chip->num_ports) + 1);
@@ -645,8 +645,8 @@ static void snd_mtpav_set_name(mtpav_t *chip, snd_rawmidi_substream_t *substream
645static int snd_mtpav_get_RAWMIDI(mtpav_t * mcard) 645static int snd_mtpav_get_RAWMIDI(mtpav_t * mcard)
646{ 646{
647 int rval = 0; 647 int rval = 0;
648 snd_rawmidi_t *rawmidi; 648 struct snd_rawmidi *rawmidi;
649 snd_rawmidi_substream_t *substream; 649 struct snd_rawmidi_substream *substream;
650 struct list_head *list; 650 struct list_head *list;
651 651
652 //printk("entering snd_mtpav_get_RAWMIDI\n"); 652 //printk("entering snd_mtpav_get_RAWMIDI\n");
@@ -666,12 +666,12 @@ static int snd_mtpav_get_RAWMIDI(mtpav_t * mcard)
666 rawmidi = mcard->rmidi; 666 rawmidi = mcard->rmidi;
667 667
668 list_for_each(list, &rawmidi->streams[SNDRV_RAWMIDI_STREAM_INPUT].substreams) { 668 list_for_each(list, &rawmidi->streams[SNDRV_RAWMIDI_STREAM_INPUT].substreams) {
669 substream = list_entry(list, snd_rawmidi_substream_t, list); 669 substream = list_entry(list, struct snd_rawmidi_substream, list);
670 snd_mtpav_set_name(mcard, substream); 670 snd_mtpav_set_name(mcard, substream);
671 substream->ops = &snd_mtpav_input; 671 substream->ops = &snd_mtpav_input;
672 } 672 }
673 list_for_each(list, &rawmidi->streams[SNDRV_RAWMIDI_STREAM_OUTPUT].substreams) { 673 list_for_each(list, &rawmidi->streams[SNDRV_RAWMIDI_STREAM_OUTPUT].substreams) {
674 substream = list_entry(list, snd_rawmidi_substream_t, list); 674 substream = list_entry(list, struct snd_rawmidi_substream, list);
675 snd_mtpav_set_name(mcard, substream); 675 snd_mtpav_set_name(mcard, substream);
676 substream->ops = &snd_mtpav_output; 676 substream->ops = &snd_mtpav_output;
677 mcard->ports[substream->number].hwport = translate_subdevice_to_hwport(mcard, substream->number); 677 mcard->ports[substream->number].hwport = translate_subdevice_to_hwport(mcard, substream->number);
diff --git a/sound/drivers/serial-u16550.c b/sound/drivers/serial-u16550.c
index 1ed58df42671..ec28587247f4 100644
--- a/sound/drivers/serial-u16550.c
+++ b/sound/drivers/serial-u16550.c
@@ -116,10 +116,10 @@ MODULE_PARM_DESC(adaptor, "Type of adaptor.");
116#define SERIAL_MODE_OUTPUT_TRIGGERED (1 << 3) 116#define SERIAL_MODE_OUTPUT_TRIGGERED (1 << 3)
117 117
118typedef struct _snd_uart16550 { 118typedef struct _snd_uart16550 {
119 snd_card_t *card; 119 struct snd_card *card;
120 snd_rawmidi_t *rmidi; 120 struct snd_rawmidi *rmidi;
121 snd_rawmidi_substream_t *midi_output[SNDRV_SERIAL_MAX_OUTS]; 121 struct snd_rawmidi_substream *midi_output[SNDRV_SERIAL_MAX_OUTS];
122 snd_rawmidi_substream_t *midi_input[SNDRV_SERIAL_MAX_INS]; 122 struct snd_rawmidi_substream *midi_input[SNDRV_SERIAL_MAX_INS];
123 123
124 int filemode; //open status of file 124 int filemode; //open status of file
125 125
@@ -166,7 +166,7 @@ typedef struct _snd_uart16550 {
166 166
167} snd_uart16550_t; 167} snd_uart16550_t;
168 168
169static snd_card_t *snd_serial_cards[SNDRV_CARDS] = SNDRV_DEFAULT_PTR; 169static struct snd_card *snd_serial_cards[SNDRV_CARDS] = SNDRV_DEFAULT_PTR;
170 170
171static inline void snd_uart16550_add_timer(snd_uart16550_t *uart) 171static inline void snd_uart16550_add_timer(snd_uart16550_t *uart)
172{ 172{
@@ -509,7 +509,7 @@ static void snd_uart16550_do_close(snd_uart16550_t * uart)
509 } 509 }
510} 510}
511 511
512static int snd_uart16550_input_open(snd_rawmidi_substream_t * substream) 512static int snd_uart16550_input_open(struct snd_rawmidi_substream *substream)
513{ 513{
514 unsigned long flags; 514 unsigned long flags;
515 snd_uart16550_t *uart = substream->rmidi->private_data; 515 snd_uart16550_t *uart = substream->rmidi->private_data;
@@ -523,7 +523,7 @@ static int snd_uart16550_input_open(snd_rawmidi_substream_t * substream)
523 return 0; 523 return 0;
524} 524}
525 525
526static int snd_uart16550_input_close(snd_rawmidi_substream_t * substream) 526static int snd_uart16550_input_close(struct snd_rawmidi_substream *substream)
527{ 527{
528 unsigned long flags; 528 unsigned long flags;
529 snd_uart16550_t *uart = substream->rmidi->private_data; 529 snd_uart16550_t *uart = substream->rmidi->private_data;
@@ -537,7 +537,7 @@ static int snd_uart16550_input_close(snd_rawmidi_substream_t * substream)
537 return 0; 537 return 0;
538} 538}
539 539
540static void snd_uart16550_input_trigger(snd_rawmidi_substream_t * substream, int up) 540static void snd_uart16550_input_trigger(struct snd_rawmidi_substream *substream, int up)
541{ 541{
542 unsigned long flags; 542 unsigned long flags;
543 snd_uart16550_t *uart = substream->rmidi->private_data; 543 snd_uart16550_t *uart = substream->rmidi->private_data;
@@ -551,7 +551,7 @@ static void snd_uart16550_input_trigger(snd_rawmidi_substream_t * substream, int
551 spin_unlock_irqrestore(&uart->open_lock, flags); 551 spin_unlock_irqrestore(&uart->open_lock, flags);
552} 552}
553 553
554static int snd_uart16550_output_open(snd_rawmidi_substream_t * substream) 554static int snd_uart16550_output_open(struct snd_rawmidi_substream *substream)
555{ 555{
556 unsigned long flags; 556 unsigned long flags;
557 snd_uart16550_t *uart = substream->rmidi->private_data; 557 snd_uart16550_t *uart = substream->rmidi->private_data;
@@ -565,7 +565,7 @@ static int snd_uart16550_output_open(snd_rawmidi_substream_t * substream)
565 return 0; 565 return 0;
566}; 566};
567 567
568static int snd_uart16550_output_close(snd_rawmidi_substream_t * substream) 568static int snd_uart16550_output_close(struct snd_rawmidi_substream *substream)
569{ 569{
570 unsigned long flags; 570 unsigned long flags;
571 snd_uart16550_t *uart = substream->rmidi->private_data; 571 snd_uart16550_t *uart = substream->rmidi->private_data;
@@ -603,7 +603,7 @@ static inline int snd_uart16550_write_buffer(snd_uart16550_t *uart, unsigned cha
603 return 0; 603 return 0;
604} 604}
605 605
606static int snd_uart16550_output_byte(snd_uart16550_t *uart, snd_rawmidi_substream_t * substream, unsigned char midi_byte) 606static int snd_uart16550_output_byte(snd_uart16550_t *uart, struct snd_rawmidi_substream *substream, unsigned char midi_byte)
607{ 607{
608 if (uart->buff_in_count == 0 /* Buffer empty? */ 608 if (uart->buff_in_count == 0 /* Buffer empty? */
609 && ((uart->adaptor != SNDRV_SERIAL_MS124W_SA && 609 && ((uart->adaptor != SNDRV_SERIAL_MS124W_SA &&
@@ -636,7 +636,7 @@ static int snd_uart16550_output_byte(snd_uart16550_t *uart, snd_rawmidi_substrea
636 return 1; 636 return 1;
637} 637}
638 638
639static void snd_uart16550_output_write(snd_rawmidi_substream_t * substream) 639static void snd_uart16550_output_write(struct snd_rawmidi_substream *substream)
640{ 640{
641 unsigned long flags; 641 unsigned long flags;
642 unsigned char midi_byte, addr_byte; 642 unsigned char midi_byte, addr_byte;
@@ -715,7 +715,7 @@ static void snd_uart16550_output_write(snd_rawmidi_substream_t * substream)
715 spin_unlock_irqrestore(&uart->open_lock, flags); 715 spin_unlock_irqrestore(&uart->open_lock, flags);
716} 716}
717 717
718static void snd_uart16550_output_trigger(snd_rawmidi_substream_t * substream, int up) 718static void snd_uart16550_output_trigger(struct snd_rawmidi_substream *substream, int up)
719{ 719{
720 unsigned long flags; 720 unsigned long flags;
721 snd_uart16550_t *uart = substream->rmidi->private_data; 721 snd_uart16550_t *uart = substream->rmidi->private_data;
@@ -731,14 +731,14 @@ static void snd_uart16550_output_trigger(snd_rawmidi_substream_t * substream, in
731 snd_uart16550_output_write(substream); 731 snd_uart16550_output_write(substream);
732} 732}
733 733
734static snd_rawmidi_ops_t snd_uart16550_output = 734static struct snd_rawmidi_ops snd_uart16550_output =
735{ 735{
736 .open = snd_uart16550_output_open, 736 .open = snd_uart16550_output_open,
737 .close = snd_uart16550_output_close, 737 .close = snd_uart16550_output_close,
738 .trigger = snd_uart16550_output_trigger, 738 .trigger = snd_uart16550_output_trigger,
739}; 739};
740 740
741static snd_rawmidi_ops_t snd_uart16550_input = 741static struct snd_rawmidi_ops snd_uart16550_input =
742{ 742{
743 .open = snd_uart16550_input_open, 743 .open = snd_uart16550_input_open,
744 .close = snd_uart16550_input_close, 744 .close = snd_uart16550_input_close,
@@ -754,13 +754,13 @@ static int snd_uart16550_free(snd_uart16550_t *uart)
754 return 0; 754 return 0;
755}; 755};
756 756
757static int snd_uart16550_dev_free(snd_device_t *device) 757static int snd_uart16550_dev_free(struct snd_device *device)
758{ 758{
759 snd_uart16550_t *uart = device->device_data; 759 snd_uart16550_t *uart = device->device_data;
760 return snd_uart16550_free(uart); 760 return snd_uart16550_free(uart);
761} 761}
762 762
763static int __init snd_uart16550_create(snd_card_t * card, 763static int __init snd_uart16550_create(struct snd_card *card,
764 unsigned long iobase, 764 unsigned long iobase,
765 int irq, 765 int irq,
766 unsigned int speed, 766 unsigned int speed,
@@ -769,7 +769,7 @@ static int __init snd_uart16550_create(snd_card_t * card,
769 int droponfull, 769 int droponfull,
770 snd_uart16550_t **ruart) 770 snd_uart16550_t **ruart)
771{ 771{
772 static snd_device_ops_t ops = { 772 static struct snd_device_ops ops = {
773 .dev_free = snd_uart16550_dev_free, 773 .dev_free = snd_uart16550_dev_free,
774 }; 774 };
775 snd_uart16550_t *uart; 775 snd_uart16550_t *uart;
@@ -838,19 +838,19 @@ static int __init snd_uart16550_create(snd_card_t * card,
838 return 0; 838 return 0;
839} 839}
840 840
841static void __init snd_uart16550_substreams(snd_rawmidi_str_t *stream) 841static void __init snd_uart16550_substreams(struct snd_rawmidi_str *stream)
842{ 842{
843 struct list_head *list; 843 struct list_head *list;
844 844
845 list_for_each(list, &stream->substreams) { 845 list_for_each(list, &stream->substreams) {
846 snd_rawmidi_substream_t *substream = list_entry(list, snd_rawmidi_substream_t, list); 846 struct snd_rawmidi_substream *substream = list_entry(list, struct snd_rawmidi_substream, list);
847 sprintf(substream->name, "Serial MIDI %d", substream->number + 1); 847 sprintf(substream->name, "Serial MIDI %d", substream->number + 1);
848 } 848 }
849} 849}
850 850
851static int __init snd_uart16550_rmidi(snd_uart16550_t *uart, int device, int outs, int ins, snd_rawmidi_t **rmidi) 851static int __init snd_uart16550_rmidi(snd_uart16550_t *uart, int device, int outs, int ins, struct snd_rawmidi **rmidi)
852{ 852{
853 snd_rawmidi_t *rrawmidi; 853 struct snd_rawmidi *rrawmidi;
854 int err; 854 int err;
855 855
856 if ((err = snd_rawmidi_new(uart->card, "UART Serial MIDI", device, outs, ins, &rrawmidi)) < 0) 856 if ((err = snd_rawmidi_new(uart->card, "UART Serial MIDI", device, outs, ins, &rrawmidi)) < 0)
@@ -871,7 +871,7 @@ static int __init snd_uart16550_rmidi(snd_uart16550_t *uart, int device, int out
871 871
872static int __init snd_serial_probe(int dev) 872static int __init snd_serial_probe(int dev)
873{ 873{
874 snd_card_t *card; 874 struct snd_card *card;
875 snd_uart16550_t *uart; 875 snd_uart16550_t *uart;
876 int err; 876 int err;
877 877
diff --git a/sound/drivers/virmidi.c b/sound/drivers/virmidi.c
index af12185ab8a2..0d2cc6ea73ee 100644
--- a/sound/drivers/virmidi.c
+++ b/sound/drivers/virmidi.c
@@ -75,17 +75,17 @@ MODULE_PARM_DESC(enable, "Enable this soundcard.");
75module_param_array(midi_devs, int, NULL, 0444); 75module_param_array(midi_devs, int, NULL, 0444);
76MODULE_PARM_DESC(midi_devs, "MIDI devices # (1-8)"); 76MODULE_PARM_DESC(midi_devs, "MIDI devices # (1-8)");
77 77
78typedef struct snd_card_virmidi { 78struct snd_card_virmidi {
79 snd_card_t *card; 79 struct snd_card *card;
80 snd_rawmidi_t *midi[MAX_MIDI_DEVICES]; 80 struct snd_rawmidi *midi[MAX_MIDI_DEVICES];
81} snd_card_virmidi_t; 81};
82 82
83static snd_card_t *snd_virmidi_cards[SNDRV_CARDS] = SNDRV_DEFAULT_PTR; 83static struct snd_card *snd_virmidi_cards[SNDRV_CARDS] = SNDRV_DEFAULT_PTR;
84 84
85 85
86static int __init snd_card_virmidi_probe(int dev) 86static int __init snd_card_virmidi_probe(int dev)
87{ 87{
88 snd_card_t *card; 88 struct snd_card *card;
89 struct snd_card_virmidi *vmidi; 89 struct snd_card_virmidi *vmidi;
90 int idx, err; 90 int idx, err;
91 91
@@ -103,8 +103,8 @@ static int __init snd_card_virmidi_probe(int dev)
103 midi_devs[dev] = MAX_MIDI_DEVICES; 103 midi_devs[dev] = MAX_MIDI_DEVICES;
104 } 104 }
105 for (idx = 0; idx < midi_devs[dev]; idx++) { 105 for (idx = 0; idx < midi_devs[dev]; idx++) {
106 snd_rawmidi_t *rmidi; 106 struct snd_rawmidi *rmidi;
107 snd_virmidi_dev_t *rdev; 107 struct snd_virmidi_dev *rdev;
108 if ((err = snd_virmidi_new(card, idx, &rmidi)) < 0) 108 if ((err = snd_virmidi_new(card, idx, &rmidi)) < 0)
109 goto __nodev; 109 goto __nodev;
110 rdev = rmidi->private_data; 110 rdev = rmidi->private_data;