aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/bt87x.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/pci/bt87x.c')
-rw-r--r--sound/pci/bt87x.c138
1 files changed, 73 insertions, 65 deletions
diff --git a/sound/pci/bt87x.c b/sound/pci/bt87x.c
index 8feca228c6d4..dc9cd3079b14 100644
--- a/sound/pci/bt87x.c
+++ b/sound/pci/bt87x.c
@@ -147,9 +147,8 @@ MODULE_PARM_DESC(load_all, "Allow to load the non-whitelisted cards");
147/* SYNC, one WRITE per line, one extra WRITE per page boundary, SYNC, JUMP */ 147/* SYNC, one WRITE per line, one extra WRITE per page boundary, SYNC, JUMP */
148#define MAX_RISC_SIZE ((1 + 255 + (PAGE_ALIGN(255 * 4092) / PAGE_SIZE - 1) + 1 + 1) * 8) 148#define MAX_RISC_SIZE ((1 + 255 + (PAGE_ALIGN(255 * 4092) / PAGE_SIZE - 1) + 1 + 1) * 8)
149 149
150typedef struct snd_bt87x bt87x_t;
151struct snd_bt87x { 150struct snd_bt87x {
152 snd_card_t *card; 151 struct snd_card *card;
153 struct pci_dev *pci; 152 struct pci_dev *pci;
154 153
155 void __iomem *mmio; 154 void __iomem *mmio;
@@ -159,7 +158,7 @@ struct snd_bt87x {
159 158
160 spinlock_t reg_lock; 159 spinlock_t reg_lock;
161 long opened; 160 long opened;
162 snd_pcm_substream_t *substream; 161 struct snd_pcm_substream *substream;
163 162
164 struct snd_dma_buffer dma_risc; 163 struct snd_dma_buffer dma_risc;
165 unsigned int line_bytes; 164 unsigned int line_bytes;
@@ -175,17 +174,17 @@ struct snd_bt87x {
175 174
176enum { DEVICE_DIGITAL, DEVICE_ANALOG }; 175enum { DEVICE_DIGITAL, DEVICE_ANALOG };
177 176
178static inline u32 snd_bt87x_readl(bt87x_t *chip, u32 reg) 177static inline u32 snd_bt87x_readl(struct snd_bt87x *chip, u32 reg)
179{ 178{
180 return readl(chip->mmio + reg); 179 return readl(chip->mmio + reg);
181} 180}
182 181
183static inline void snd_bt87x_writel(bt87x_t *chip, u32 reg, u32 value) 182static inline void snd_bt87x_writel(struct snd_bt87x *chip, u32 reg, u32 value)
184{ 183{
185 writel(value, chip->mmio + reg); 184 writel(value, chip->mmio + reg);
186} 185}
187 186
188static int snd_bt87x_create_risc(bt87x_t *chip, snd_pcm_substream_t *substream, 187static int snd_bt87x_create_risc(struct snd_bt87x *chip, struct snd_pcm_substream *substream,
189 unsigned int periods, unsigned int period_bytes) 188 unsigned int periods, unsigned int period_bytes)
190{ 189{
191 struct snd_sg_buf *sgbuf = snd_pcm_substream_sgbuf(substream); 190 struct snd_sg_buf *sgbuf = snd_pcm_substream_sgbuf(substream);
@@ -235,7 +234,7 @@ static int snd_bt87x_create_risc(bt87x_t *chip, snd_pcm_substream_t *substream,
235 return 0; 234 return 0;
236} 235}
237 236
238static void snd_bt87x_free_risc(bt87x_t *chip) 237static void snd_bt87x_free_risc(struct snd_bt87x *chip)
239{ 238{
240 if (chip->dma_risc.area) { 239 if (chip->dma_risc.area) {
241 snd_dma_free_pages(&chip->dma_risc); 240 snd_dma_free_pages(&chip->dma_risc);
@@ -243,7 +242,7 @@ static void snd_bt87x_free_risc(bt87x_t *chip)
243 } 242 }
244} 243}
245 244
246static void snd_bt87x_pci_error(bt87x_t *chip, unsigned int status) 245static void snd_bt87x_pci_error(struct snd_bt87x *chip, unsigned int status)
247{ 246{
248 u16 pci_status; 247 u16 pci_status;
249 248
@@ -272,7 +271,7 @@ static void snd_bt87x_pci_error(bt87x_t *chip, unsigned int status)
272 271
273static irqreturn_t snd_bt87x_interrupt(int irq, void *dev_id, struct pt_regs *regs) 272static irqreturn_t snd_bt87x_interrupt(int irq, void *dev_id, struct pt_regs *regs)
274{ 273{
275 bt87x_t *chip = dev_id; 274 struct snd_bt87x *chip = dev_id;
276 unsigned int status, irq_status; 275 unsigned int status, irq_status;
277 276
278 status = snd_bt87x_readl(chip, REG_INT_STAT); 277 status = snd_bt87x_readl(chip, REG_INT_STAT);
@@ -305,7 +304,7 @@ static irqreturn_t snd_bt87x_interrupt(int irq, void *dev_id, struct pt_regs *re
305 return IRQ_HANDLED; 304 return IRQ_HANDLED;
306} 305}
307 306
308static snd_pcm_hardware_t snd_bt87x_digital_hw = { 307static struct snd_pcm_hardware snd_bt87x_digital_hw = {
309 .info = SNDRV_PCM_INFO_MMAP | 308 .info = SNDRV_PCM_INFO_MMAP |
310 SNDRV_PCM_INFO_INTERLEAVED | 309 SNDRV_PCM_INFO_INTERLEAVED |
311 SNDRV_PCM_INFO_BLOCK_TRANSFER | 310 SNDRV_PCM_INFO_BLOCK_TRANSFER |
@@ -321,7 +320,7 @@ static snd_pcm_hardware_t snd_bt87x_digital_hw = {
321 .periods_max = 255, 320 .periods_max = 255,
322}; 321};
323 322
324static snd_pcm_hardware_t snd_bt87x_analog_hw = { 323static struct snd_pcm_hardware snd_bt87x_analog_hw = {
325 .info = SNDRV_PCM_INFO_MMAP | 324 .info = SNDRV_PCM_INFO_MMAP |
326 SNDRV_PCM_INFO_INTERLEAVED | 325 SNDRV_PCM_INFO_INTERLEAVED |
327 SNDRV_PCM_INFO_BLOCK_TRANSFER | 326 SNDRV_PCM_INFO_BLOCK_TRANSFER |
@@ -339,7 +338,7 @@ static snd_pcm_hardware_t snd_bt87x_analog_hw = {
339 .periods_max = 255, 338 .periods_max = 255,
340}; 339};
341 340
342static int snd_bt87x_set_digital_hw(bt87x_t *chip, snd_pcm_runtime_t *runtime) 341static int snd_bt87x_set_digital_hw(struct snd_bt87x *chip, struct snd_pcm_runtime *runtime)
343{ 342{
344 static struct { 343 static struct {
345 int rate; 344 int rate;
@@ -368,15 +367,15 @@ static int snd_bt87x_set_digital_hw(bt87x_t *chip, snd_pcm_runtime_t *runtime)
368 return 0; 367 return 0;
369} 368}
370 369
371static int snd_bt87x_set_analog_hw(bt87x_t *chip, snd_pcm_runtime_t *runtime) 370static int snd_bt87x_set_analog_hw(struct snd_bt87x *chip, struct snd_pcm_runtime *runtime)
372{ 371{
373 static ratnum_t analog_clock = { 372 static struct snd_ratnum analog_clock = {
374 .num = ANALOG_CLOCK, 373 .num = ANALOG_CLOCK,
375 .den_min = CLOCK_DIV_MIN, 374 .den_min = CLOCK_DIV_MIN,
376 .den_max = CLOCK_DIV_MAX, 375 .den_max = CLOCK_DIV_MAX,
377 .den_step = 1 376 .den_step = 1
378 }; 377 };
379 static snd_pcm_hw_constraint_ratnums_t constraint_rates = { 378 static struct snd_pcm_hw_constraint_ratnums constraint_rates = {
380 .nrats = 1, 379 .nrats = 1,
381 .rats = &analog_clock 380 .rats = &analog_clock
382 }; 381 };
@@ -387,10 +386,10 @@ static int snd_bt87x_set_analog_hw(bt87x_t *chip, snd_pcm_runtime_t *runtime)
387 &constraint_rates); 386 &constraint_rates);
388} 387}
389 388
390static int snd_bt87x_pcm_open(snd_pcm_substream_t *substream) 389static int snd_bt87x_pcm_open(struct snd_pcm_substream *substream)
391{ 390{
392 bt87x_t *chip = snd_pcm_substream_chip(substream); 391 struct snd_bt87x *chip = snd_pcm_substream_chip(substream);
393 snd_pcm_runtime_t *runtime = substream->runtime; 392 struct snd_pcm_runtime *runtime = substream->runtime;
394 int err; 393 int err;
395 394
396 if (test_and_set_bit(0, &chip->opened)) 395 if (test_and_set_bit(0, &chip->opened))
@@ -416,9 +415,9 @@ _error:
416 return err; 415 return err;
417} 416}
418 417
419static int snd_bt87x_close(snd_pcm_substream_t *substream) 418static int snd_bt87x_close(struct snd_pcm_substream *substream)
420{ 419{
421 bt87x_t *chip = snd_pcm_substream_chip(substream); 420 struct snd_bt87x *chip = snd_pcm_substream_chip(substream);
422 421
423 chip->substream = NULL; 422 chip->substream = NULL;
424 clear_bit(0, &chip->opened); 423 clear_bit(0, &chip->opened);
@@ -426,10 +425,10 @@ static int snd_bt87x_close(snd_pcm_substream_t *substream)
426 return 0; 425 return 0;
427} 426}
428 427
429static int snd_bt87x_hw_params(snd_pcm_substream_t *substream, 428static int snd_bt87x_hw_params(struct snd_pcm_substream *substream,
430 snd_pcm_hw_params_t *hw_params) 429 struct snd_pcm_hw_params *hw_params)
431{ 430{
432 bt87x_t *chip = snd_pcm_substream_chip(substream); 431 struct snd_bt87x *chip = snd_pcm_substream_chip(substream);
433 int err; 432 int err;
434 433
435 err = snd_pcm_lib_malloc_pages(substream, 434 err = snd_pcm_lib_malloc_pages(substream,
@@ -441,19 +440,19 @@ static int snd_bt87x_hw_params(snd_pcm_substream_t *substream,
441 params_period_bytes(hw_params)); 440 params_period_bytes(hw_params));
442} 441}
443 442
444static int snd_bt87x_hw_free(snd_pcm_substream_t *substream) 443static int snd_bt87x_hw_free(struct snd_pcm_substream *substream)
445{ 444{
446 bt87x_t *chip = snd_pcm_substream_chip(substream); 445 struct snd_bt87x *chip = snd_pcm_substream_chip(substream);
447 446
448 snd_bt87x_free_risc(chip); 447 snd_bt87x_free_risc(chip);
449 snd_pcm_lib_free_pages(substream); 448 snd_pcm_lib_free_pages(substream);
450 return 0; 449 return 0;
451} 450}
452 451
453static int snd_bt87x_prepare(snd_pcm_substream_t *substream) 452static int snd_bt87x_prepare(struct snd_pcm_substream *substream)
454{ 453{
455 bt87x_t *chip = snd_pcm_substream_chip(substream); 454 struct snd_bt87x *chip = snd_pcm_substream_chip(substream);
456 snd_pcm_runtime_t *runtime = substream->runtime; 455 struct snd_pcm_runtime *runtime = substream->runtime;
457 int decimation; 456 int decimation;
458 457
459 spin_lock_irq(&chip->reg_lock); 458 spin_lock_irq(&chip->reg_lock);
@@ -467,7 +466,7 @@ static int snd_bt87x_prepare(snd_pcm_substream_t *substream)
467 return 0; 466 return 0;
468} 467}
469 468
470static int snd_bt87x_start(bt87x_t *chip) 469static int snd_bt87x_start(struct snd_bt87x *chip)
471{ 470{
472 spin_lock(&chip->reg_lock); 471 spin_lock(&chip->reg_lock);
473 chip->current_line = 0; 472 chip->current_line = 0;
@@ -481,7 +480,7 @@ static int snd_bt87x_start(bt87x_t *chip)
481 return 0; 480 return 0;
482} 481}
483 482
484static int snd_bt87x_stop(bt87x_t *chip) 483static int snd_bt87x_stop(struct snd_bt87x *chip)
485{ 484{
486 spin_lock(&chip->reg_lock); 485 spin_lock(&chip->reg_lock);
487 chip->reg_control &= ~(CTL_FIFO_ENABLE | CTL_RISC_ENABLE | CTL_ACAP_EN); 486 chip->reg_control &= ~(CTL_FIFO_ENABLE | CTL_RISC_ENABLE | CTL_ACAP_EN);
@@ -492,9 +491,9 @@ static int snd_bt87x_stop(bt87x_t *chip)
492 return 0; 491 return 0;
493} 492}
494 493
495static int snd_bt87x_trigger(snd_pcm_substream_t *substream, int cmd) 494static int snd_bt87x_trigger(struct snd_pcm_substream *substream, int cmd)
496{ 495{
497 bt87x_t *chip = snd_pcm_substream_chip(substream); 496 struct snd_bt87x *chip = snd_pcm_substream_chip(substream);
498 497
499 switch (cmd) { 498 switch (cmd) {
500 case SNDRV_PCM_TRIGGER_START: 499 case SNDRV_PCM_TRIGGER_START:
@@ -506,15 +505,15 @@ static int snd_bt87x_trigger(snd_pcm_substream_t *substream, int cmd)
506 } 505 }
507} 506}
508 507
509static snd_pcm_uframes_t snd_bt87x_pointer(snd_pcm_substream_t *substream) 508static snd_pcm_uframes_t snd_bt87x_pointer(struct snd_pcm_substream *substream)
510{ 509{
511 bt87x_t *chip = snd_pcm_substream_chip(substream); 510 struct snd_bt87x *chip = snd_pcm_substream_chip(substream);
512 snd_pcm_runtime_t *runtime = substream->runtime; 511 struct snd_pcm_runtime *runtime = substream->runtime;
513 512
514 return (snd_pcm_uframes_t)bytes_to_frames(runtime, chip->current_line * chip->line_bytes); 513 return (snd_pcm_uframes_t)bytes_to_frames(runtime, chip->current_line * chip->line_bytes);
515} 514}
516 515
517static snd_pcm_ops_t snd_bt87x_pcm_ops = { 516static struct snd_pcm_ops snd_bt87x_pcm_ops = {
518 .open = snd_bt87x_pcm_open, 517 .open = snd_bt87x_pcm_open,
519 .close = snd_bt87x_close, 518 .close = snd_bt87x_close,
520 .ioctl = snd_pcm_lib_ioctl, 519 .ioctl = snd_pcm_lib_ioctl,
@@ -526,7 +525,8 @@ static snd_pcm_ops_t snd_bt87x_pcm_ops = {
526 .page = snd_pcm_sgbuf_ops_page, 525 .page = snd_pcm_sgbuf_ops_page,
527}; 526};
528 527
529static int snd_bt87x_capture_volume_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *info) 528static int snd_bt87x_capture_volume_info(struct snd_kcontrol *kcontrol,
529 struct snd_ctl_elem_info *info)
530{ 530{
531 info->type = SNDRV_CTL_ELEM_TYPE_INTEGER; 531 info->type = SNDRV_CTL_ELEM_TYPE_INTEGER;
532 info->count = 1; 532 info->count = 1;
@@ -535,17 +535,19 @@ static int snd_bt87x_capture_volume_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_
535 return 0; 535 return 0;
536} 536}
537 537
538static int snd_bt87x_capture_volume_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *value) 538static int snd_bt87x_capture_volume_get(struct snd_kcontrol *kcontrol,
539 struct snd_ctl_elem_value *value)
539{ 540{
540 bt87x_t *chip = snd_kcontrol_chip(kcontrol); 541 struct snd_bt87x *chip = snd_kcontrol_chip(kcontrol);
541 542
542 value->value.integer.value[0] = (chip->reg_control & CTL_A_GAIN_MASK) >> CTL_A_GAIN_SHIFT; 543 value->value.integer.value[0] = (chip->reg_control & CTL_A_GAIN_MASK) >> CTL_A_GAIN_SHIFT;
543 return 0; 544 return 0;
544} 545}
545 546
546static int snd_bt87x_capture_volume_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *value) 547static int snd_bt87x_capture_volume_put(struct snd_kcontrol *kcontrol,
548 struct snd_ctl_elem_value *value)
547{ 549{
548 bt87x_t *chip = snd_kcontrol_chip(kcontrol); 550 struct snd_bt87x *chip = snd_kcontrol_chip(kcontrol);
549 u32 old_control; 551 u32 old_control;
550 int changed; 552 int changed;
551 553
@@ -559,7 +561,7 @@ static int snd_bt87x_capture_volume_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_v
559 return changed; 561 return changed;
560} 562}
561 563
562static snd_kcontrol_new_t snd_bt87x_capture_volume = { 564static struct snd_kcontrol_new snd_bt87x_capture_volume = {
563 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 565 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
564 .name = "Capture Volume", 566 .name = "Capture Volume",
565 .info = snd_bt87x_capture_volume_info, 567 .info = snd_bt87x_capture_volume_info,
@@ -567,7 +569,8 @@ static snd_kcontrol_new_t snd_bt87x_capture_volume = {
567 .put = snd_bt87x_capture_volume_put, 569 .put = snd_bt87x_capture_volume_put,
568}; 570};
569 571
570static int snd_bt87x_capture_boost_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *info) 572static int snd_bt87x_capture_boost_info(struct snd_kcontrol *kcontrol,
573 struct snd_ctl_elem_info *info)
571{ 574{
572 info->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; 575 info->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN;
573 info->count = 1; 576 info->count = 1;
@@ -576,17 +579,19 @@ static int snd_bt87x_capture_boost_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_i
576 return 0; 579 return 0;
577} 580}
578 581
579static int snd_bt87x_capture_boost_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *value) 582static int snd_bt87x_capture_boost_get(struct snd_kcontrol *kcontrol,
583 struct snd_ctl_elem_value *value)
580{ 584{
581 bt87x_t *chip = snd_kcontrol_chip(kcontrol); 585 struct snd_bt87x *chip = snd_kcontrol_chip(kcontrol);
582 586
583 value->value.integer.value[0] = !! (chip->reg_control & CTL_A_G2X); 587 value->value.integer.value[0] = !! (chip->reg_control & CTL_A_G2X);
584 return 0; 588 return 0;
585} 589}
586 590
587static int snd_bt87x_capture_boost_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *value) 591static int snd_bt87x_capture_boost_put(struct snd_kcontrol *kcontrol,
592 struct snd_ctl_elem_value *value)
588{ 593{
589 bt87x_t *chip = snd_kcontrol_chip(kcontrol); 594 struct snd_bt87x *chip = snd_kcontrol_chip(kcontrol);
590 u32 old_control; 595 u32 old_control;
591 int changed; 596 int changed;
592 597
@@ -600,7 +605,7 @@ static int snd_bt87x_capture_boost_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_va
600 return changed; 605 return changed;
601} 606}
602 607
603static snd_kcontrol_new_t snd_bt87x_capture_boost = { 608static struct snd_kcontrol_new snd_bt87x_capture_boost = {
604 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 609 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
605 .name = "Capture Boost", 610 .name = "Capture Boost",
606 .info = snd_bt87x_capture_boost_info, 611 .info = snd_bt87x_capture_boost_info,
@@ -608,7 +613,8 @@ static snd_kcontrol_new_t snd_bt87x_capture_boost = {
608 .put = snd_bt87x_capture_boost_put, 613 .put = snd_bt87x_capture_boost_put,
609}; 614};
610 615
611static int snd_bt87x_capture_source_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *info) 616static int snd_bt87x_capture_source_info(struct snd_kcontrol *kcontrol,
617 struct snd_ctl_elem_info *info)
612{ 618{
613 static char *texts[3] = {"TV Tuner", "FM", "Mic/Line"}; 619 static char *texts[3] = {"TV Tuner", "FM", "Mic/Line"};
614 620
@@ -621,17 +627,19 @@ static int snd_bt87x_capture_source_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_
621 return 0; 627 return 0;
622} 628}
623 629
624static int snd_bt87x_capture_source_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *value) 630static int snd_bt87x_capture_source_get(struct snd_kcontrol *kcontrol,
631 struct snd_ctl_elem_value *value)
625{ 632{
626 bt87x_t *chip = snd_kcontrol_chip(kcontrol); 633 struct snd_bt87x *chip = snd_kcontrol_chip(kcontrol);
627 634
628 value->value.enumerated.item[0] = (chip->reg_control & CTL_A_SEL_MASK) >> CTL_A_SEL_SHIFT; 635 value->value.enumerated.item[0] = (chip->reg_control & CTL_A_SEL_MASK) >> CTL_A_SEL_SHIFT;
629 return 0; 636 return 0;
630} 637}
631 638
632static int snd_bt87x_capture_source_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *value) 639static int snd_bt87x_capture_source_put(struct snd_kcontrol *kcontrol,
640 struct snd_ctl_elem_value *value)
633{ 641{
634 bt87x_t *chip = snd_kcontrol_chip(kcontrol); 642 struct snd_bt87x *chip = snd_kcontrol_chip(kcontrol);
635 u32 old_control; 643 u32 old_control;
636 int changed; 644 int changed;
637 645
@@ -645,7 +653,7 @@ static int snd_bt87x_capture_source_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_v
645 return changed; 653 return changed;
646} 654}
647 655
648static snd_kcontrol_new_t snd_bt87x_capture_source = { 656static struct snd_kcontrol_new snd_bt87x_capture_source = {
649 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 657 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
650 .name = "Capture Source", 658 .name = "Capture Source",
651 .info = snd_bt87x_capture_source_info, 659 .info = snd_bt87x_capture_source_info,
@@ -653,7 +661,7 @@ static snd_kcontrol_new_t snd_bt87x_capture_source = {
653 .put = snd_bt87x_capture_source_put, 661 .put = snd_bt87x_capture_source_put,
654}; 662};
655 663
656static int snd_bt87x_free(bt87x_t *chip) 664static int snd_bt87x_free(struct snd_bt87x *chip)
657{ 665{
658 if (chip->mmio) { 666 if (chip->mmio) {
659 snd_bt87x_stop(chip); 667 snd_bt87x_stop(chip);
@@ -670,16 +678,16 @@ static int snd_bt87x_free(bt87x_t *chip)
670 return 0; 678 return 0;
671} 679}
672 680
673static int snd_bt87x_dev_free(snd_device_t *device) 681static int snd_bt87x_dev_free(struct snd_device *device)
674{ 682{
675 bt87x_t *chip = device->device_data; 683 struct snd_bt87x *chip = device->device_data;
676 return snd_bt87x_free(chip); 684 return snd_bt87x_free(chip);
677} 685}
678 686
679static int __devinit snd_bt87x_pcm(bt87x_t *chip, int device, char *name) 687static int __devinit snd_bt87x_pcm(struct snd_bt87x *chip, int device, char *name)
680{ 688{
681 int err; 689 int err;
682 snd_pcm_t *pcm; 690 struct snd_pcm *pcm;
683 691
684 err = snd_pcm_new(chip->card, name, device, 0, 1, &pcm); 692 err = snd_pcm_new(chip->card, name, device, 0, 1, &pcm);
685 if (err < 0) 693 if (err < 0)
@@ -694,13 +702,13 @@ static int __devinit snd_bt87x_pcm(bt87x_t *chip, int device, char *name)
694 (255 * 4092 + 1023) & ~1023); 702 (255 * 4092 + 1023) & ~1023);
695} 703}
696 704
697static int __devinit snd_bt87x_create(snd_card_t *card, 705static int __devinit snd_bt87x_create(struct snd_card *card,
698 struct pci_dev *pci, 706 struct pci_dev *pci,
699 bt87x_t **rchip) 707 struct snd_bt87x **rchip)
700{ 708{
701 bt87x_t *chip; 709 struct snd_bt87x *chip;
702 int err; 710 int err;
703 static snd_device_ops_t ops = { 711 static struct snd_device_ops ops = {
704 .dev_free = snd_bt87x_dev_free 712 .dev_free = snd_bt87x_dev_free
705 }; 713 };
706 714
@@ -823,8 +831,8 @@ static int __devinit snd_bt87x_probe(struct pci_dev *pci,
823 const struct pci_device_id *pci_id) 831 const struct pci_device_id *pci_id)
824{ 832{
825 static int dev; 833 static int dev;
826 snd_card_t *card; 834 struct snd_card *card;
827 bt87x_t *chip; 835 struct snd_bt87x *chip;
828 int err, rate; 836 int err, rate;
829 837
830 rate = pci_id->driver_data; 838 rate = pci_id->driver_data;