aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/emu10k1/p16v.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/pci/emu10k1/p16v.c')
-rw-r--r--sound/pci/emu10k1/p16v.c254
1 files changed, 127 insertions, 127 deletions
diff --git a/sound/pci/emu10k1/p16v.c b/sound/pci/emu10k1/p16v.c
index 3b456007ba2a..90470de8bb8e 100644
--- a/sound/pci/emu10k1/p16v.c
+++ b/sound/pci/emu10k1/p16v.c
@@ -121,7 +121,7 @@
121 */ 121 */
122 122
123 /* hardware definition */ 123 /* hardware definition */
124static snd_pcm_hardware_t snd_p16v_playback_hw = { 124static struct snd_pcm_hardware snd_p16v_playback_hw = {
125 .info = (SNDRV_PCM_INFO_MMAP | 125 .info = (SNDRV_PCM_INFO_MMAP |
126 SNDRV_PCM_INFO_INTERLEAVED | 126 SNDRV_PCM_INFO_INTERLEAVED |
127 SNDRV_PCM_INFO_BLOCK_TRANSFER | 127 SNDRV_PCM_INFO_BLOCK_TRANSFER |
@@ -140,7 +140,7 @@ static snd_pcm_hardware_t snd_p16v_playback_hw = {
140 .fifo_size = 0, 140 .fifo_size = 0,
141}; 141};
142 142
143static snd_pcm_hardware_t snd_p16v_capture_hw = { 143static struct snd_pcm_hardware snd_p16v_capture_hw = {
144 .info = (SNDRV_PCM_INFO_MMAP | 144 .info = (SNDRV_PCM_INFO_MMAP |
145 SNDRV_PCM_INFO_INTERLEAVED | 145 SNDRV_PCM_INFO_INTERLEAVED |
146 SNDRV_PCM_INFO_BLOCK_TRANSFER | 146 SNDRV_PCM_INFO_BLOCK_TRANSFER |
@@ -159,9 +159,9 @@ static snd_pcm_hardware_t snd_p16v_capture_hw = {
159 .fifo_size = 0, 159 .fifo_size = 0,
160}; 160};
161 161
162static void snd_p16v_pcm_free_substream(snd_pcm_runtime_t *runtime) 162static void snd_p16v_pcm_free_substream(struct snd_pcm_runtime *runtime)
163{ 163{
164 emu10k1_pcm_t *epcm = runtime->private_data; 164 struct snd_emu10k1_pcm *epcm = runtime->private_data;
165 165
166 if (epcm) { 166 if (epcm) {
167 //snd_printk("epcm free: %p\n", epcm); 167 //snd_printk("epcm free: %p\n", epcm);
@@ -170,12 +170,12 @@ static void snd_p16v_pcm_free_substream(snd_pcm_runtime_t *runtime)
170} 170}
171 171
172/* open_playback callback */ 172/* open_playback callback */
173static int snd_p16v_pcm_open_playback_channel(snd_pcm_substream_t *substream, int channel_id) 173static int snd_p16v_pcm_open_playback_channel(struct snd_pcm_substream *substream, int channel_id)
174{ 174{
175 emu10k1_t *emu = snd_pcm_substream_chip(substream); 175 struct snd_emu10k1 *emu = snd_pcm_substream_chip(substream);
176 emu10k1_voice_t *channel = &(emu->p16v_voices[channel_id]); 176 struct snd_emu10k1_voice *channel = &(emu->p16v_voices[channel_id]);
177 emu10k1_pcm_t *epcm; 177 struct snd_emu10k1_pcm *epcm;
178 snd_pcm_runtime_t *runtime = substream->runtime; 178 struct snd_pcm_runtime *runtime = substream->runtime;
179 int err; 179 int err;
180 180
181 epcm = kzalloc(sizeof(*epcm), GFP_KERNEL); 181 epcm = kzalloc(sizeof(*epcm), GFP_KERNEL);
@@ -206,12 +206,12 @@ static int snd_p16v_pcm_open_playback_channel(snd_pcm_substream_t *substream, in
206 return 0; 206 return 0;
207} 207}
208/* open_capture callback */ 208/* open_capture callback */
209static int snd_p16v_pcm_open_capture_channel(snd_pcm_substream_t *substream, int channel_id) 209static int snd_p16v_pcm_open_capture_channel(struct snd_pcm_substream *substream, int channel_id)
210{ 210{
211 emu10k1_t *emu = snd_pcm_substream_chip(substream); 211 struct snd_emu10k1 *emu = snd_pcm_substream_chip(substream);
212 emu10k1_voice_t *channel = &(emu->p16v_capture_voice); 212 struct snd_emu10k1_voice *channel = &(emu->p16v_capture_voice);
213 emu10k1_pcm_t *epcm; 213 struct snd_emu10k1_pcm *epcm;
214 snd_pcm_runtime_t *runtime = substream->runtime; 214 struct snd_pcm_runtime *runtime = substream->runtime;
215 int err; 215 int err;
216 216
217 epcm = kzalloc(sizeof(*epcm), GFP_KERNEL); 217 epcm = kzalloc(sizeof(*epcm), GFP_KERNEL);
@@ -244,41 +244,41 @@ static int snd_p16v_pcm_open_capture_channel(snd_pcm_substream_t *substream, int
244 244
245 245
246/* close callback */ 246/* close callback */
247static int snd_p16v_pcm_close_playback(snd_pcm_substream_t *substream) 247static int snd_p16v_pcm_close_playback(struct snd_pcm_substream *substream)
248{ 248{
249 emu10k1_t *emu = snd_pcm_substream_chip(substream); 249 struct snd_emu10k1 *emu = snd_pcm_substream_chip(substream);
250 //snd_pcm_runtime_t *runtime = substream->runtime; 250 //struct snd_pcm_runtime *runtime = substream->runtime;
251 //emu10k1_pcm_t *epcm = runtime->private_data; 251 //struct snd_emu10k1_pcm *epcm = runtime->private_data;
252 emu->p16v_voices[substream->pcm->device - emu->p16v_device_offset].use=0; 252 emu->p16v_voices[substream->pcm->device - emu->p16v_device_offset].use=0;
253 /* FIXME: maybe zero others */ 253 /* FIXME: maybe zero others */
254 return 0; 254 return 0;
255} 255}
256 256
257/* close callback */ 257/* close callback */
258static int snd_p16v_pcm_close_capture(snd_pcm_substream_t *substream) 258static int snd_p16v_pcm_close_capture(struct snd_pcm_substream *substream)
259{ 259{
260 emu10k1_t *emu = snd_pcm_substream_chip(substream); 260 struct snd_emu10k1 *emu = snd_pcm_substream_chip(substream);
261 //snd_pcm_runtime_t *runtime = substream->runtime; 261 //struct snd_pcm_runtime *runtime = substream->runtime;
262 //emu10k1_pcm_t *epcm = runtime->private_data; 262 //struct snd_emu10k1_pcm *epcm = runtime->private_data;
263 emu->p16v_capture_voice.use=0; 263 emu->p16v_capture_voice.use=0;
264 /* FIXME: maybe zero others */ 264 /* FIXME: maybe zero others */
265 return 0; 265 return 0;
266} 266}
267 267
268static int snd_p16v_pcm_open_playback_front(snd_pcm_substream_t *substream) 268static int snd_p16v_pcm_open_playback_front(struct snd_pcm_substream *substream)
269{ 269{
270 return snd_p16v_pcm_open_playback_channel(substream, PCM_FRONT_CHANNEL); 270 return snd_p16v_pcm_open_playback_channel(substream, PCM_FRONT_CHANNEL);
271} 271}
272 272
273static int snd_p16v_pcm_open_capture(snd_pcm_substream_t *substream) 273static int snd_p16v_pcm_open_capture(struct snd_pcm_substream *substream)
274{ 274{
275 // Only using channel 0 for now, but the card has 2 channels. 275 // Only using channel 0 for now, but the card has 2 channels.
276 return snd_p16v_pcm_open_capture_channel(substream, 0); 276 return snd_p16v_pcm_open_capture_channel(substream, 0);
277} 277}
278 278
279/* hw_params callback */ 279/* hw_params callback */
280static int snd_p16v_pcm_hw_params_playback(snd_pcm_substream_t *substream, 280static int snd_p16v_pcm_hw_params_playback(struct snd_pcm_substream *substream,
281 snd_pcm_hw_params_t * hw_params) 281 struct snd_pcm_hw_params *hw_params)
282{ 282{
283 int result; 283 int result;
284 result = snd_pcm_lib_malloc_pages(substream, 284 result = snd_pcm_lib_malloc_pages(substream,
@@ -287,8 +287,8 @@ static int snd_p16v_pcm_hw_params_playback(snd_pcm_substream_t *substream,
287} 287}
288 288
289/* hw_params callback */ 289/* hw_params callback */
290static int snd_p16v_pcm_hw_params_capture(snd_pcm_substream_t *substream, 290static int snd_p16v_pcm_hw_params_capture(struct snd_pcm_substream *substream,
291 snd_pcm_hw_params_t * hw_params) 291 struct snd_pcm_hw_params *hw_params)
292{ 292{
293 int result; 293 int result;
294 result = snd_pcm_lib_malloc_pages(substream, 294 result = snd_pcm_lib_malloc_pages(substream,
@@ -298,7 +298,7 @@ static int snd_p16v_pcm_hw_params_capture(snd_pcm_substream_t *substream,
298 298
299 299
300/* hw_free callback */ 300/* hw_free callback */
301static int snd_p16v_pcm_hw_free_playback(snd_pcm_substream_t *substream) 301static int snd_p16v_pcm_hw_free_playback(struct snd_pcm_substream *substream)
302{ 302{
303 int result; 303 int result;
304 result = snd_pcm_lib_free_pages(substream); 304 result = snd_pcm_lib_free_pages(substream);
@@ -306,7 +306,7 @@ static int snd_p16v_pcm_hw_free_playback(snd_pcm_substream_t *substream)
306} 306}
307 307
308/* hw_free callback */ 308/* hw_free callback */
309static int snd_p16v_pcm_hw_free_capture(snd_pcm_substream_t *substream) 309static int snd_p16v_pcm_hw_free_capture(struct snd_pcm_substream *substream)
310{ 310{
311 int result; 311 int result;
312 result = snd_pcm_lib_free_pages(substream); 312 result = snd_pcm_lib_free_pages(substream);
@@ -315,10 +315,10 @@ static int snd_p16v_pcm_hw_free_capture(snd_pcm_substream_t *substream)
315 315
316 316
317/* prepare playback callback */ 317/* prepare playback callback */
318static int snd_p16v_pcm_prepare_playback(snd_pcm_substream_t *substream) 318static int snd_p16v_pcm_prepare_playback(struct snd_pcm_substream *substream)
319{ 319{
320 emu10k1_t *emu = snd_pcm_substream_chip(substream); 320 struct snd_emu10k1 *emu = snd_pcm_substream_chip(substream);
321 snd_pcm_runtime_t *runtime = substream->runtime; 321 struct snd_pcm_runtime *runtime = substream->runtime;
322 int channel = substream->pcm->device - emu->p16v_device_offset; 322 int channel = substream->pcm->device - emu->p16v_device_offset;
323 u32 *table_base = (u32 *)(emu->p16v_buffer.area+(8*16*channel)); 323 u32 *table_base = (u32 *)(emu->p16v_buffer.area+(8*16*channel));
324 u32 period_size_bytes = frames_to_bytes(runtime, runtime->period_size); 324 u32 period_size_bytes = frames_to_bytes(runtime, runtime->period_size);
@@ -364,10 +364,10 @@ static int snd_p16v_pcm_prepare_playback(snd_pcm_substream_t *substream)
364} 364}
365 365
366/* prepare capture callback */ 366/* prepare capture callback */
367static int snd_p16v_pcm_prepare_capture(snd_pcm_substream_t *substream) 367static int snd_p16v_pcm_prepare_capture(struct snd_pcm_substream *substream)
368{ 368{
369 emu10k1_t *emu = snd_pcm_substream_chip(substream); 369 struct snd_emu10k1 *emu = snd_pcm_substream_chip(substream);
370 snd_pcm_runtime_t *runtime = substream->runtime; 370 struct snd_pcm_runtime *runtime = substream->runtime;
371 int channel = substream->pcm->device - emu->p16v_device_offset; 371 int channel = substream->pcm->device - emu->p16v_device_offset;
372 u32 tmp; 372 u32 tmp;
373 //printk("prepare capture:channel_number=%d, rate=%d, format=0x%x, channels=%d, buffer_size=%ld, period_size=%ld, frames_to_bytes=%d\n",channel, runtime->rate, runtime->format, runtime->channels, runtime->buffer_size, runtime->period_size, frames_to_bytes(runtime, 1)); 373 //printk("prepare capture:channel_number=%d, rate=%d, format=0x%x, channels=%d, buffer_size=%ld, period_size=%ld, frames_to_bytes=%d\n",channel, runtime->rate, runtime->format, runtime->channels, runtime->buffer_size, runtime->period_size, frames_to_bytes(runtime, 1));
@@ -398,7 +398,7 @@ static int snd_p16v_pcm_prepare_capture(snd_pcm_substream_t *substream)
398 return 0; 398 return 0;
399} 399}
400 400
401static void snd_p16v_intr_enable(emu10k1_t *emu, unsigned int intrenb) 401static void snd_p16v_intr_enable(struct snd_emu10k1 *emu, unsigned int intrenb)
402{ 402{
403 unsigned long flags; 403 unsigned long flags;
404 unsigned int enable; 404 unsigned int enable;
@@ -409,7 +409,7 @@ static void snd_p16v_intr_enable(emu10k1_t *emu, unsigned int intrenb)
409 spin_unlock_irqrestore(&emu->emu_lock, flags); 409 spin_unlock_irqrestore(&emu->emu_lock, flags);
410} 410}
411 411
412static void snd_p16v_intr_disable(emu10k1_t *emu, unsigned int intrenb) 412static void snd_p16v_intr_disable(struct snd_emu10k1 *emu, unsigned int intrenb)
413{ 413{
414 unsigned long flags; 414 unsigned long flags;
415 unsigned int disable; 415 unsigned int disable;
@@ -421,16 +421,16 @@ static void snd_p16v_intr_disable(emu10k1_t *emu, unsigned int intrenb)
421} 421}
422 422
423/* trigger_playback callback */ 423/* trigger_playback callback */
424static int snd_p16v_pcm_trigger_playback(snd_pcm_substream_t *substream, 424static int snd_p16v_pcm_trigger_playback(struct snd_pcm_substream *substream,
425 int cmd) 425 int cmd)
426{ 426{
427 emu10k1_t *emu = snd_pcm_substream_chip(substream); 427 struct snd_emu10k1 *emu = snd_pcm_substream_chip(substream);
428 snd_pcm_runtime_t *runtime; 428 struct snd_pcm_runtime *runtime;
429 emu10k1_pcm_t *epcm; 429 struct snd_emu10k1_pcm *epcm;
430 int channel; 430 int channel;
431 int result = 0; 431 int result = 0;
432 struct list_head *pos; 432 struct list_head *pos;
433 snd_pcm_substream_t *s; 433 struct snd_pcm_substream *s;
434 u32 basic = 0; 434 u32 basic = 0;
435 u32 inte = 0; 435 u32 inte = 0;
436 int running=0; 436 int running=0;
@@ -474,12 +474,12 @@ static int snd_p16v_pcm_trigger_playback(snd_pcm_substream_t *substream,
474} 474}
475 475
476/* trigger_capture callback */ 476/* trigger_capture callback */
477static int snd_p16v_pcm_trigger_capture(snd_pcm_substream_t *substream, 477static int snd_p16v_pcm_trigger_capture(struct snd_pcm_substream *substream,
478 int cmd) 478 int cmd)
479{ 479{
480 emu10k1_t *emu = snd_pcm_substream_chip(substream); 480 struct snd_emu10k1 *emu = snd_pcm_substream_chip(substream);
481 snd_pcm_runtime_t *runtime = substream->runtime; 481 struct snd_pcm_runtime *runtime = substream->runtime;
482 emu10k1_pcm_t *epcm = runtime->private_data; 482 struct snd_emu10k1_pcm *epcm = runtime->private_data;
483 int channel = 0; 483 int channel = 0;
484 int result = 0; 484 int result = 0;
485 u32 inte = INTE2_CAPTURE_CH_0_LOOP | INTE2_CAPTURE_CH_0_HALF_LOOP; 485 u32 inte = INTE2_CAPTURE_CH_0_LOOP | INTE2_CAPTURE_CH_0_HALF_LOOP;
@@ -505,11 +505,11 @@ static int snd_p16v_pcm_trigger_capture(snd_pcm_substream_t *substream,
505 505
506/* pointer_playback callback */ 506/* pointer_playback callback */
507static snd_pcm_uframes_t 507static snd_pcm_uframes_t
508snd_p16v_pcm_pointer_playback(snd_pcm_substream_t *substream) 508snd_p16v_pcm_pointer_playback(struct snd_pcm_substream *substream)
509{ 509{
510 emu10k1_t *emu = snd_pcm_substream_chip(substream); 510 struct snd_emu10k1 *emu = snd_pcm_substream_chip(substream);
511 snd_pcm_runtime_t *runtime = substream->runtime; 511 struct snd_pcm_runtime *runtime = substream->runtime;
512 emu10k1_pcm_t *epcm = runtime->private_data; 512 struct snd_emu10k1_pcm *epcm = runtime->private_data;
513 snd_pcm_uframes_t ptr, ptr1, ptr2,ptr3,ptr4 = 0; 513 snd_pcm_uframes_t ptr, ptr1, ptr2,ptr3,ptr4 = 0;
514 int channel = substream->pcm->device - emu->p16v_device_offset; 514 int channel = substream->pcm->device - emu->p16v_device_offset;
515 if (!epcm->running) 515 if (!epcm->running)
@@ -530,11 +530,11 @@ snd_p16v_pcm_pointer_playback(snd_pcm_substream_t *substream)
530 530
531/* pointer_capture callback */ 531/* pointer_capture callback */
532static snd_pcm_uframes_t 532static snd_pcm_uframes_t
533snd_p16v_pcm_pointer_capture(snd_pcm_substream_t *substream) 533snd_p16v_pcm_pointer_capture(struct snd_pcm_substream *substream)
534{ 534{
535 emu10k1_t *emu = snd_pcm_substream_chip(substream); 535 struct snd_emu10k1 *emu = snd_pcm_substream_chip(substream);
536 snd_pcm_runtime_t *runtime = substream->runtime; 536 struct snd_pcm_runtime *runtime = substream->runtime;
537 emu10k1_pcm_t *epcm = runtime->private_data; 537 struct snd_emu10k1_pcm *epcm = runtime->private_data;
538 snd_pcm_uframes_t ptr, ptr1, ptr2 = 0; 538 snd_pcm_uframes_t ptr, ptr1, ptr2 = 0;
539 int channel = 0; 539 int channel = 0;
540 540
@@ -554,7 +554,7 @@ snd_p16v_pcm_pointer_capture(snd_pcm_substream_t *substream)
554} 554}
555 555
556/* operators */ 556/* operators */
557static snd_pcm_ops_t snd_p16v_playback_front_ops = { 557static struct snd_pcm_ops snd_p16v_playback_front_ops = {
558 .open = snd_p16v_pcm_open_playback_front, 558 .open = snd_p16v_pcm_open_playback_front,
559 .close = snd_p16v_pcm_close_playback, 559 .close = snd_p16v_pcm_close_playback,
560 .ioctl = snd_pcm_lib_ioctl, 560 .ioctl = snd_pcm_lib_ioctl,
@@ -565,7 +565,7 @@ static snd_pcm_ops_t snd_p16v_playback_front_ops = {
565 .pointer = snd_p16v_pcm_pointer_playback, 565 .pointer = snd_p16v_pcm_pointer_playback,
566}; 566};
567 567
568static snd_pcm_ops_t snd_p16v_capture_ops = { 568static struct snd_pcm_ops snd_p16v_capture_ops = {
569 .open = snd_p16v_pcm_open_capture, 569 .open = snd_p16v_pcm_open_capture,
570 .close = snd_p16v_pcm_close_capture, 570 .close = snd_p16v_pcm_close_capture,
571 .ioctl = snd_pcm_lib_ioctl, 571 .ioctl = snd_pcm_lib_ioctl,
@@ -577,7 +577,7 @@ static snd_pcm_ops_t snd_p16v_capture_ops = {
577}; 577};
578 578
579 579
580int snd_p16v_free(emu10k1_t *chip) 580int snd_p16v_free(struct snd_emu10k1 *chip)
581{ 581{
582 // release the data 582 // release the data
583 if (chip->p16v_buffer.area) { 583 if (chip->p16v_buffer.area) {
@@ -587,10 +587,10 @@ int snd_p16v_free(emu10k1_t *chip)
587 return 0; 587 return 0;
588} 588}
589 589
590int snd_p16v_pcm(emu10k1_t *emu, int device, snd_pcm_t **rpcm) 590int snd_p16v_pcm(struct snd_emu10k1 *emu, int device, struct snd_pcm **rpcm)
591{ 591{
592 snd_pcm_t *pcm; 592 struct snd_pcm *pcm;
593 snd_pcm_substream_t *substream; 593 struct snd_pcm_substream *substream;
594 int err; 594 int err;
595 int capture=1; 595 int capture=1;
596 596
@@ -641,7 +641,7 @@ int snd_p16v_pcm(emu10k1_t *emu, int device, snd_pcm_t **rpcm)
641 return 0; 641 return 0;
642} 642}
643 643
644static int snd_p16v_volume_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo) 644static int snd_p16v_volume_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)
645{ 645{
646 uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER; 646 uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER;
647 uinfo->count = 2; 647 uinfo->count = 2;
@@ -650,10 +650,10 @@ static int snd_p16v_volume_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *
650 return 0; 650 return 0;
651} 651}
652 652
653static int snd_p16v_volume_get(snd_kcontrol_t * kcontrol, 653static int snd_p16v_volume_get(struct snd_kcontrol *kcontrol,
654 snd_ctl_elem_value_t * ucontrol, int reg, int high_low) 654 struct snd_ctl_elem_value *ucontrol, int reg, int high_low)
655{ 655{
656 emu10k1_t *emu = snd_kcontrol_chip(kcontrol); 656 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol);
657 u32 value; 657 u32 value;
658 658
659 value = snd_emu10k1_ptr20_read(emu, reg, high_low); 659 value = snd_emu10k1_ptr20_read(emu, reg, high_low);
@@ -667,71 +667,71 @@ static int snd_p16v_volume_get(snd_kcontrol_t * kcontrol,
667 return 0; 667 return 0;
668} 668}
669 669
670static int snd_p16v_volume_get_spdif_front(snd_kcontrol_t * kcontrol, 670static int snd_p16v_volume_get_spdif_front(struct snd_kcontrol *kcontrol,
671 snd_ctl_elem_value_t * ucontrol) 671 struct snd_ctl_elem_value *ucontrol)
672{ 672{
673 int high_low = 0; 673 int high_low = 0;
674 int reg = PLAYBACK_VOLUME_MIXER7; 674 int reg = PLAYBACK_VOLUME_MIXER7;
675 return snd_p16v_volume_get(kcontrol, ucontrol, reg, high_low); 675 return snd_p16v_volume_get(kcontrol, ucontrol, reg, high_low);
676} 676}
677 677
678static int snd_p16v_volume_get_spdif_center_lfe(snd_kcontrol_t * kcontrol, 678static int snd_p16v_volume_get_spdif_center_lfe(struct snd_kcontrol *kcontrol,
679 snd_ctl_elem_value_t * ucontrol) 679 struct snd_ctl_elem_value *ucontrol)
680{ 680{
681 int high_low = 1; 681 int high_low = 1;
682 int reg = PLAYBACK_VOLUME_MIXER7; 682 int reg = PLAYBACK_VOLUME_MIXER7;
683 return snd_p16v_volume_get(kcontrol, ucontrol, reg, high_low); 683 return snd_p16v_volume_get(kcontrol, ucontrol, reg, high_low);
684} 684}
685static int snd_p16v_volume_get_spdif_unknown(snd_kcontrol_t * kcontrol, 685static int snd_p16v_volume_get_spdif_unknown(struct snd_kcontrol *kcontrol,
686 snd_ctl_elem_value_t * ucontrol) 686 struct snd_ctl_elem_value *ucontrol)
687{ 687{
688 int high_low = 0; 688 int high_low = 0;
689 int reg = PLAYBACK_VOLUME_MIXER8; 689 int reg = PLAYBACK_VOLUME_MIXER8;
690 return snd_p16v_volume_get(kcontrol, ucontrol, reg, high_low); 690 return snd_p16v_volume_get(kcontrol, ucontrol, reg, high_low);
691} 691}
692static int snd_p16v_volume_get_spdif_rear(snd_kcontrol_t * kcontrol, 692static int snd_p16v_volume_get_spdif_rear(struct snd_kcontrol *kcontrol,
693 snd_ctl_elem_value_t * ucontrol) 693 struct snd_ctl_elem_value *ucontrol)
694{ 694{
695 int high_low = 1; 695 int high_low = 1;
696 int reg = PLAYBACK_VOLUME_MIXER8; 696 int reg = PLAYBACK_VOLUME_MIXER8;
697 return snd_p16v_volume_get(kcontrol, ucontrol, reg, high_low); 697 return snd_p16v_volume_get(kcontrol, ucontrol, reg, high_low);
698} 698}
699 699
700static int snd_p16v_volume_get_analog_front(snd_kcontrol_t * kcontrol, 700static int snd_p16v_volume_get_analog_front(struct snd_kcontrol *kcontrol,
701 snd_ctl_elem_value_t * ucontrol) 701 struct snd_ctl_elem_value *ucontrol)
702{ 702{
703 int high_low = 0; 703 int high_low = 0;
704 int reg = PLAYBACK_VOLUME_MIXER9; 704 int reg = PLAYBACK_VOLUME_MIXER9;
705 return snd_p16v_volume_get(kcontrol, ucontrol, reg, high_low); 705 return snd_p16v_volume_get(kcontrol, ucontrol, reg, high_low);
706} 706}
707 707
708static int snd_p16v_volume_get_analog_center_lfe(snd_kcontrol_t * kcontrol, 708static int snd_p16v_volume_get_analog_center_lfe(struct snd_kcontrol *kcontrol,
709 snd_ctl_elem_value_t * ucontrol) 709 struct snd_ctl_elem_value *ucontrol)
710{ 710{
711 int high_low = 1; 711 int high_low = 1;
712 int reg = PLAYBACK_VOLUME_MIXER9; 712 int reg = PLAYBACK_VOLUME_MIXER9;
713 return snd_p16v_volume_get(kcontrol, ucontrol, reg, high_low); 713 return snd_p16v_volume_get(kcontrol, ucontrol, reg, high_low);
714} 714}
715static int snd_p16v_volume_get_analog_rear(snd_kcontrol_t * kcontrol, 715static int snd_p16v_volume_get_analog_rear(struct snd_kcontrol *kcontrol,
716 snd_ctl_elem_value_t * ucontrol) 716 struct snd_ctl_elem_value *ucontrol)
717{ 717{
718 int high_low = 1; 718 int high_low = 1;
719 int reg = PLAYBACK_VOLUME_MIXER10; 719 int reg = PLAYBACK_VOLUME_MIXER10;
720 return snd_p16v_volume_get(kcontrol, ucontrol, reg, high_low); 720 return snd_p16v_volume_get(kcontrol, ucontrol, reg, high_low);
721} 721}
722 722
723static int snd_p16v_volume_get_analog_unknown(snd_kcontrol_t * kcontrol, 723static int snd_p16v_volume_get_analog_unknown(struct snd_kcontrol *kcontrol,
724 snd_ctl_elem_value_t * ucontrol) 724 struct snd_ctl_elem_value *ucontrol)
725{ 725{
726 int high_low = 0; 726 int high_low = 0;
727 int reg = PLAYBACK_VOLUME_MIXER10; 727 int reg = PLAYBACK_VOLUME_MIXER10;
728 return snd_p16v_volume_get(kcontrol, ucontrol, reg, high_low); 728 return snd_p16v_volume_get(kcontrol, ucontrol, reg, high_low);
729} 729}
730 730
731static int snd_p16v_volume_put(snd_kcontrol_t * kcontrol, 731static int snd_p16v_volume_put(struct snd_kcontrol *kcontrol,
732 snd_ctl_elem_value_t * ucontrol, int reg, int high_low) 732 struct snd_ctl_elem_value *ucontrol, int reg, int high_low)
733{ 733{
734 emu10k1_t *emu = snd_kcontrol_chip(kcontrol); 734 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol);
735 u32 value; 735 u32 value;
736 value = snd_emu10k1_ptr20_read(emu, reg, 0); 736 value = snd_emu10k1_ptr20_read(emu, reg, 0);
737 //value = value & 0xffff; 737 //value = value & 0xffff;
@@ -746,71 +746,71 @@ static int snd_p16v_volume_put(snd_kcontrol_t * kcontrol,
746 return 1; 746 return 1;
747} 747}
748 748
749static int snd_p16v_volume_put_spdif_front(snd_kcontrol_t * kcontrol, 749static int snd_p16v_volume_put_spdif_front(struct snd_kcontrol *kcontrol,
750 snd_ctl_elem_value_t * ucontrol) 750 struct snd_ctl_elem_value *ucontrol)
751{ 751{
752 int high_low = 0; 752 int high_low = 0;
753 int reg = PLAYBACK_VOLUME_MIXER7; 753 int reg = PLAYBACK_VOLUME_MIXER7;
754 return snd_p16v_volume_put(kcontrol, ucontrol, reg, high_low); 754 return snd_p16v_volume_put(kcontrol, ucontrol, reg, high_low);
755} 755}
756 756
757static int snd_p16v_volume_put_spdif_center_lfe(snd_kcontrol_t * kcontrol, 757static int snd_p16v_volume_put_spdif_center_lfe(struct snd_kcontrol *kcontrol,
758 snd_ctl_elem_value_t * ucontrol) 758 struct snd_ctl_elem_value *ucontrol)
759{ 759{
760 int high_low = 1; 760 int high_low = 1;
761 int reg = PLAYBACK_VOLUME_MIXER7; 761 int reg = PLAYBACK_VOLUME_MIXER7;
762 return snd_p16v_volume_put(kcontrol, ucontrol, reg, high_low); 762 return snd_p16v_volume_put(kcontrol, ucontrol, reg, high_low);
763} 763}
764 764
765static int snd_p16v_volume_put_spdif_unknown(snd_kcontrol_t * kcontrol, 765static int snd_p16v_volume_put_spdif_unknown(struct snd_kcontrol *kcontrol,
766 snd_ctl_elem_value_t * ucontrol) 766 struct snd_ctl_elem_value *ucontrol)
767{ 767{
768 int high_low = 0; 768 int high_low = 0;
769 int reg = PLAYBACK_VOLUME_MIXER8; 769 int reg = PLAYBACK_VOLUME_MIXER8;
770 return snd_p16v_volume_put(kcontrol, ucontrol, reg, high_low); 770 return snd_p16v_volume_put(kcontrol, ucontrol, reg, high_low);
771} 771}
772 772
773static int snd_p16v_volume_put_spdif_rear(snd_kcontrol_t * kcontrol, 773static int snd_p16v_volume_put_spdif_rear(struct snd_kcontrol *kcontrol,
774 snd_ctl_elem_value_t * ucontrol) 774 struct snd_ctl_elem_value *ucontrol)
775{ 775{
776 int high_low = 1; 776 int high_low = 1;
777 int reg = PLAYBACK_VOLUME_MIXER8; 777 int reg = PLAYBACK_VOLUME_MIXER8;
778 return snd_p16v_volume_put(kcontrol, ucontrol, reg, high_low); 778 return snd_p16v_volume_put(kcontrol, ucontrol, reg, high_low);
779} 779}
780 780
781static int snd_p16v_volume_put_analog_front(snd_kcontrol_t * kcontrol, 781static int snd_p16v_volume_put_analog_front(struct snd_kcontrol *kcontrol,
782 snd_ctl_elem_value_t * ucontrol) 782 struct snd_ctl_elem_value *ucontrol)
783{ 783{
784 int high_low = 0; 784 int high_low = 0;
785 int reg = PLAYBACK_VOLUME_MIXER9; 785 int reg = PLAYBACK_VOLUME_MIXER9;
786 return snd_p16v_volume_put(kcontrol, ucontrol, reg, high_low); 786 return snd_p16v_volume_put(kcontrol, ucontrol, reg, high_low);
787} 787}
788 788
789static int snd_p16v_volume_put_analog_center_lfe(snd_kcontrol_t * kcontrol, 789static int snd_p16v_volume_put_analog_center_lfe(struct snd_kcontrol *kcontrol,
790 snd_ctl_elem_value_t * ucontrol) 790 struct snd_ctl_elem_value *ucontrol)
791{ 791{
792 int high_low = 1; 792 int high_low = 1;
793 int reg = PLAYBACK_VOLUME_MIXER9; 793 int reg = PLAYBACK_VOLUME_MIXER9;
794 return snd_p16v_volume_put(kcontrol, ucontrol, reg, high_low); 794 return snd_p16v_volume_put(kcontrol, ucontrol, reg, high_low);
795} 795}
796 796
797static int snd_p16v_volume_put_analog_rear(snd_kcontrol_t * kcontrol, 797static int snd_p16v_volume_put_analog_rear(struct snd_kcontrol *kcontrol,
798 snd_ctl_elem_value_t * ucontrol) 798 struct snd_ctl_elem_value *ucontrol)
799{ 799{
800 int high_low = 1; 800 int high_low = 1;
801 int reg = PLAYBACK_VOLUME_MIXER10; 801 int reg = PLAYBACK_VOLUME_MIXER10;
802 return snd_p16v_volume_put(kcontrol, ucontrol, reg, high_low); 802 return snd_p16v_volume_put(kcontrol, ucontrol, reg, high_low);
803} 803}
804 804
805static int snd_p16v_volume_put_analog_unknown(snd_kcontrol_t * kcontrol, 805static int snd_p16v_volume_put_analog_unknown(struct snd_kcontrol *kcontrol,
806 snd_ctl_elem_value_t * ucontrol) 806 struct snd_ctl_elem_value *ucontrol)
807{ 807{
808 int high_low = 0; 808 int high_low = 0;
809 int reg = PLAYBACK_VOLUME_MIXER10; 809 int reg = PLAYBACK_VOLUME_MIXER10;
810 return snd_p16v_volume_put(kcontrol, ucontrol, reg, high_low); 810 return snd_p16v_volume_put(kcontrol, ucontrol, reg, high_low);
811} 811}
812 812
813static snd_kcontrol_new_t snd_p16v_volume_control_analog_front = 813static struct snd_kcontrol_new snd_p16v_volume_control_analog_front =
814{ 814{
815 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 815 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
816 .name = "HD Analog Front Playback Volume", 816 .name = "HD Analog Front Playback Volume",
@@ -819,7 +819,7 @@ static snd_kcontrol_new_t snd_p16v_volume_control_analog_front =
819 .put = snd_p16v_volume_put_analog_front 819 .put = snd_p16v_volume_put_analog_front
820}; 820};
821 821
822static snd_kcontrol_new_t snd_p16v_volume_control_analog_center_lfe = 822static struct snd_kcontrol_new snd_p16v_volume_control_analog_center_lfe =
823{ 823{
824 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 824 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
825 .name = "HD Analog Center/LFE Playback Volume", 825 .name = "HD Analog Center/LFE Playback Volume",
@@ -828,7 +828,7 @@ static snd_kcontrol_new_t snd_p16v_volume_control_analog_center_lfe =
828 .put = snd_p16v_volume_put_analog_center_lfe 828 .put = snd_p16v_volume_put_analog_center_lfe
829}; 829};
830 830
831static snd_kcontrol_new_t snd_p16v_volume_control_analog_unknown = 831static struct snd_kcontrol_new snd_p16v_volume_control_analog_unknown =
832{ 832{
833 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 833 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
834 .name = "HD Analog Unknown Playback Volume", 834 .name = "HD Analog Unknown Playback Volume",
@@ -837,7 +837,7 @@ static snd_kcontrol_new_t snd_p16v_volume_control_analog_unknown =
837 .put = snd_p16v_volume_put_analog_unknown 837 .put = snd_p16v_volume_put_analog_unknown
838}; 838};
839 839
840static snd_kcontrol_new_t snd_p16v_volume_control_analog_rear = 840static struct snd_kcontrol_new snd_p16v_volume_control_analog_rear =
841{ 841{
842 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 842 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
843 .name = "HD Analog Rear Playback Volume", 843 .name = "HD Analog Rear Playback Volume",
@@ -846,7 +846,7 @@ static snd_kcontrol_new_t snd_p16v_volume_control_analog_rear =
846 .put = snd_p16v_volume_put_analog_rear 846 .put = snd_p16v_volume_put_analog_rear
847}; 847};
848 848
849static snd_kcontrol_new_t snd_p16v_volume_control_spdif_front = 849static struct snd_kcontrol_new snd_p16v_volume_control_spdif_front =
850{ 850{
851 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 851 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
852 .name = "HD SPDIF Front Playback Volume", 852 .name = "HD SPDIF Front Playback Volume",
@@ -855,7 +855,7 @@ static snd_kcontrol_new_t snd_p16v_volume_control_spdif_front =
855 .put = snd_p16v_volume_put_spdif_front 855 .put = snd_p16v_volume_put_spdif_front
856}; 856};
857 857
858static snd_kcontrol_new_t snd_p16v_volume_control_spdif_center_lfe = 858static struct snd_kcontrol_new snd_p16v_volume_control_spdif_center_lfe =
859{ 859{
860 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 860 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
861 .name = "HD SPDIF Center/LFE Playback Volume", 861 .name = "HD SPDIF Center/LFE Playback Volume",
@@ -864,7 +864,7 @@ static snd_kcontrol_new_t snd_p16v_volume_control_spdif_center_lfe =
864 .put = snd_p16v_volume_put_spdif_center_lfe 864 .put = snd_p16v_volume_put_spdif_center_lfe
865}; 865};
866 866
867static snd_kcontrol_new_t snd_p16v_volume_control_spdif_unknown = 867static struct snd_kcontrol_new snd_p16v_volume_control_spdif_unknown =
868{ 868{
869 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 869 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
870 .name = "HD SPDIF Unknown Playback Volume", 870 .name = "HD SPDIF Unknown Playback Volume",
@@ -873,7 +873,7 @@ static snd_kcontrol_new_t snd_p16v_volume_control_spdif_unknown =
873 .put = snd_p16v_volume_put_spdif_unknown 873 .put = snd_p16v_volume_put_spdif_unknown
874}; 874};
875 875
876static snd_kcontrol_new_t snd_p16v_volume_control_spdif_rear = 876static struct snd_kcontrol_new snd_p16v_volume_control_spdif_rear =
877{ 877{
878 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 878 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
879 .name = "HD SPDIF Rear Playback Volume", 879 .name = "HD SPDIF Rear Playback Volume",
@@ -882,7 +882,7 @@ static snd_kcontrol_new_t snd_p16v_volume_control_spdif_rear =
882 .put = snd_p16v_volume_put_spdif_rear 882 .put = snd_p16v_volume_put_spdif_rear
883}; 883};
884 884
885static int snd_p16v_capture_source_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo) 885static int snd_p16v_capture_source_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)
886{ 886{
887 static char *texts[8] = { "SPDIF", "I2S", "SRC48", "SRCMulti_SPDIF", "SRCMulti_I2S", "CDIF", "FX", "AC97" }; 887 static char *texts[8] = { "SPDIF", "I2S", "SRC48", "SRCMulti_SPDIF", "SRCMulti_I2S", "CDIF", "FX", "AC97" };
888 888
@@ -895,19 +895,19 @@ static int snd_p16v_capture_source_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_i
895 return 0; 895 return 0;
896} 896}
897 897
898static int snd_p16v_capture_source_get(snd_kcontrol_t * kcontrol, 898static int snd_p16v_capture_source_get(struct snd_kcontrol *kcontrol,
899 snd_ctl_elem_value_t * ucontrol) 899 struct snd_ctl_elem_value *ucontrol)
900{ 900{
901 emu10k1_t *emu = snd_kcontrol_chip(kcontrol); 901 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol);
902 902
903 ucontrol->value.enumerated.item[0] = emu->p16v_capture_source; 903 ucontrol->value.enumerated.item[0] = emu->p16v_capture_source;
904 return 0; 904 return 0;
905} 905}
906 906
907static int snd_p16v_capture_source_put(snd_kcontrol_t * kcontrol, 907static int snd_p16v_capture_source_put(struct snd_kcontrol *kcontrol,
908 snd_ctl_elem_value_t * ucontrol) 908 struct snd_ctl_elem_value *ucontrol)
909{ 909{
910 emu10k1_t *emu = snd_kcontrol_chip(kcontrol); 910 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol);
911 unsigned int val; 911 unsigned int val;
912 int change = 0; 912 int change = 0;
913 u32 mask; 913 u32 mask;
@@ -924,7 +924,7 @@ static int snd_p16v_capture_source_put(snd_kcontrol_t * kcontrol,
924 return change; 924 return change;
925} 925}
926 926
927static snd_kcontrol_new_t snd_p16v_capture_source __devinitdata = 927static struct snd_kcontrol_new snd_p16v_capture_source __devinitdata =
928{ 928{
929 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 929 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
930 .name = "HD source Capture", 930 .name = "HD source Capture",
@@ -933,7 +933,7 @@ static snd_kcontrol_new_t snd_p16v_capture_source __devinitdata =
933 .put = snd_p16v_capture_source_put 933 .put = snd_p16v_capture_source_put
934}; 934};
935 935
936static int snd_p16v_capture_channel_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo) 936static int snd_p16v_capture_channel_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)
937{ 937{
938 static char *texts[4] = { "0", "1", "2", "3", }; 938 static char *texts[4] = { "0", "1", "2", "3", };
939 939
@@ -946,19 +946,19 @@ static int snd_p16v_capture_channel_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_
946 return 0; 946 return 0;
947} 947}
948 948
949static int snd_p16v_capture_channel_get(snd_kcontrol_t * kcontrol, 949static int snd_p16v_capture_channel_get(struct snd_kcontrol *kcontrol,
950 snd_ctl_elem_value_t * ucontrol) 950 struct snd_ctl_elem_value *ucontrol)
951{ 951{
952 emu10k1_t *emu = snd_kcontrol_chip(kcontrol); 952 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol);
953 953
954 ucontrol->value.enumerated.item[0] = emu->p16v_capture_channel; 954 ucontrol->value.enumerated.item[0] = emu->p16v_capture_channel;
955 return 0; 955 return 0;
956} 956}
957 957
958static int snd_p16v_capture_channel_put(snd_kcontrol_t * kcontrol, 958static int snd_p16v_capture_channel_put(struct snd_kcontrol *kcontrol,
959 snd_ctl_elem_value_t * ucontrol) 959 struct snd_ctl_elem_value *ucontrol)
960{ 960{
961 emu10k1_t *emu = snd_kcontrol_chip(kcontrol); 961 struct snd_emu10k1 *emu = snd_kcontrol_chip(kcontrol);
962 unsigned int val; 962 unsigned int val;
963 int change = 0; 963 int change = 0;
964 u32 tmp; 964 u32 tmp;
@@ -973,7 +973,7 @@ static int snd_p16v_capture_channel_put(snd_kcontrol_t * kcontrol,
973 return change; 973 return change;
974} 974}
975 975
976static snd_kcontrol_new_t snd_p16v_capture_channel __devinitdata = 976static struct snd_kcontrol_new snd_p16v_capture_channel __devinitdata =
977{ 977{
978 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 978 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
979 .name = "HD channel Capture", 979 .name = "HD channel Capture",
@@ -982,11 +982,11 @@ static snd_kcontrol_new_t snd_p16v_capture_channel __devinitdata =
982 .put = snd_p16v_capture_channel_put 982 .put = snd_p16v_capture_channel_put
983}; 983};
984 984
985int snd_p16v_mixer(emu10k1_t *emu) 985int snd_p16v_mixer(struct snd_emu10k1 *emu)
986{ 986{
987 int err; 987 int err;
988 snd_kcontrol_t *kctl; 988 struct snd_kcontrol *kctl;
989 snd_card_t *card = emu->card; 989 struct snd_card *card = emu->card;
990 if ((kctl = snd_ctl_new1(&snd_p16v_volume_control_analog_front, emu)) == NULL) 990 if ((kctl = snd_ctl_new1(&snd_p16v_volume_control_analog_front, emu)) == NULL)
991 return -ENOMEM; 991 return -ENOMEM;
992 if ((err = snd_ctl_add(card, kctl))) 992 if ((err = snd_ctl_add(card, kctl)))