diff options
| -rw-r--r-- | sound/parisc/harmony.c | 169 | ||||
| -rw-r--r-- | sound/parisc/harmony.h | 14 |
2 files changed, 91 insertions, 92 deletions
diff --git a/sound/parisc/harmony.c b/sound/parisc/harmony.c index 0513137d4ec4..ce73f3eae78c 100644 --- a/sound/parisc/harmony.c +++ b/sound/parisc/harmony.c | |||
| @@ -99,32 +99,32 @@ static unsigned int rate_bits[14] = { | |||
| 99 | HARMONY_SR_44KHZ, HARMONY_SR_48KHZ | 99 | HARMONY_SR_44KHZ, HARMONY_SR_48KHZ |
| 100 | }; | 100 | }; |
| 101 | 101 | ||
| 102 | static snd_pcm_hw_constraint_list_t hw_constraint_rates = { | 102 | static struct snd_pcm_hw_constraint_list hw_constraint_rates = { |
| 103 | .count = ARRAY_SIZE(snd_harmony_rates), | 103 | .count = ARRAY_SIZE(snd_harmony_rates), |
| 104 | .list = snd_harmony_rates, | 104 | .list = snd_harmony_rates, |
| 105 | .mask = 0, | 105 | .mask = 0, |
| 106 | }; | 106 | }; |
| 107 | 107 | ||
| 108 | inline unsigned long | 108 | static inline unsigned long |
| 109 | harmony_read(harmony_t *h, unsigned r) | 109 | harmony_read(struct snd_harmony *h, unsigned r) |
| 110 | { | 110 | { |
| 111 | return __raw_readl(h->iobase + r); | 111 | return __raw_readl(h->iobase + r); |
| 112 | } | 112 | } |
| 113 | 113 | ||
| 114 | inline void | 114 | static inline void |
| 115 | harmony_write(harmony_t *h, unsigned r, unsigned long v) | 115 | harmony_write(struct snd_harmony *h, unsigned r, unsigned long v) |
| 116 | { | 116 | { |
| 117 | __raw_writel(v, h->iobase + r); | 117 | __raw_writel(v, h->iobase + r); |
| 118 | } | 118 | } |
| 119 | 119 | ||
| 120 | static void | 120 | static inline void |
| 121 | harmony_wait_for_control(harmony_t *h) | 121 | harmony_wait_for_control(struct snd_harmony *h) |
| 122 | { | 122 | { |
| 123 | while (harmony_read(h, HARMONY_CNTL) & HARMONY_CNTL_C) ; | 123 | while (harmony_read(h, HARMONY_CNTL) & HARMONY_CNTL_C) ; |
| 124 | } | 124 | } |
| 125 | 125 | ||
| 126 | inline void | 126 | static inline void |
| 127 | harmony_reset(harmony_t *h) | 127 | harmony_reset(struct snd_harmony *h) |
| 128 | { | 128 | { |
| 129 | harmony_write(h, HARMONY_RESET, 1); | 129 | harmony_write(h, HARMONY_RESET, 1); |
| 130 | mdelay(50); | 130 | mdelay(50); |
| @@ -132,7 +132,7 @@ harmony_reset(harmony_t *h) | |||
| 132 | } | 132 | } |
| 133 | 133 | ||
| 134 | static void | 134 | static void |
| 135 | harmony_disable_interrupts(harmony_t *h) | 135 | harmony_disable_interrupts(struct snd_harmony *h) |
| 136 | { | 136 | { |
| 137 | u32 dstatus; | 137 | u32 dstatus; |
| 138 | harmony_wait_for_control(h); | 138 | harmony_wait_for_control(h); |
| @@ -142,7 +142,7 @@ harmony_disable_interrupts(harmony_t *h) | |||
| 142 | } | 142 | } |
| 143 | 143 | ||
| 144 | static void | 144 | static void |
| 145 | harmony_enable_interrupts(harmony_t *h) | 145 | harmony_enable_interrupts(struct snd_harmony *h) |
| 146 | { | 146 | { |
| 147 | u32 dstatus; | 147 | u32 dstatus; |
| 148 | harmony_wait_for_control(h); | 148 | harmony_wait_for_control(h); |
| @@ -152,7 +152,7 @@ harmony_enable_interrupts(harmony_t *h) | |||
| 152 | } | 152 | } |
| 153 | 153 | ||
| 154 | static void | 154 | static void |
| 155 | harmony_mute(harmony_t *h) | 155 | harmony_mute(struct snd_harmony *h) |
| 156 | { | 156 | { |
| 157 | unsigned long flags; | 157 | unsigned long flags; |
| 158 | 158 | ||
| @@ -163,7 +163,7 @@ harmony_mute(harmony_t *h) | |||
| 163 | } | 163 | } |
| 164 | 164 | ||
| 165 | static void | 165 | static void |
| 166 | harmony_unmute(harmony_t *h) | 166 | harmony_unmute(struct snd_harmony *h) |
| 167 | { | 167 | { |
| 168 | unsigned long flags; | 168 | unsigned long flags; |
| 169 | 169 | ||
| @@ -174,7 +174,7 @@ harmony_unmute(harmony_t *h) | |||
| 174 | } | 174 | } |
| 175 | 175 | ||
| 176 | static void | 176 | static void |
| 177 | harmony_set_control(harmony_t *h) | 177 | harmony_set_control(struct snd_harmony *h) |
| 178 | { | 178 | { |
| 179 | u32 ctrl; | 179 | u32 ctrl; |
| 180 | unsigned long flags; | 180 | unsigned long flags; |
| @@ -196,7 +196,7 @@ static irqreturn_t | |||
| 196 | snd_harmony_interrupt(int irq, void *dev, struct pt_regs *regs) | 196 | snd_harmony_interrupt(int irq, void *dev, struct pt_regs *regs) |
| 197 | { | 197 | { |
| 198 | u32 dstatus; | 198 | u32 dstatus; |
| 199 | harmony_t *h = dev; | 199 | struct snd_harmony *h = dev; |
| 200 | 200 | ||
| 201 | spin_lock(&h->lock); | 201 | spin_lock(&h->lock); |
| 202 | harmony_disable_interrupts(h); | 202 | harmony_disable_interrupts(h); |
| @@ -261,7 +261,7 @@ snd_harmony_rate_bits(int rate) | |||
| 261 | return HARMONY_SR_44KHZ; | 261 | return HARMONY_SR_44KHZ; |
| 262 | } | 262 | } |
| 263 | 263 | ||
| 264 | static snd_pcm_hardware_t snd_harmony_playback = | 264 | static struct snd_pcm_hardware snd_harmony_playback = |
| 265 | { | 265 | { |
| 266 | .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED | | 266 | .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED | |
| 267 | SNDRV_PCM_INFO_JOINT_DUPLEX | SNDRV_PCM_INFO_MMAP_VALID | | 267 | SNDRV_PCM_INFO_JOINT_DUPLEX | SNDRV_PCM_INFO_MMAP_VALID | |
| @@ -282,7 +282,7 @@ static snd_pcm_hardware_t snd_harmony_playback = | |||
| 282 | .fifo_size = 0, | 282 | .fifo_size = 0, |
| 283 | }; | 283 | }; |
| 284 | 284 | ||
| 285 | static snd_pcm_hardware_t snd_harmony_capture = | 285 | static struct snd_pcm_hardware snd_harmony_capture = |
| 286 | { | 286 | { |
| 287 | .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED | | 287 | .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED | |
| 288 | SNDRV_PCM_INFO_JOINT_DUPLEX | SNDRV_PCM_INFO_MMAP_VALID | | 288 | SNDRV_PCM_INFO_JOINT_DUPLEX | SNDRV_PCM_INFO_MMAP_VALID | |
| @@ -304,9 +304,9 @@ static snd_pcm_hardware_t snd_harmony_capture = | |||
| 304 | }; | 304 | }; |
| 305 | 305 | ||
| 306 | static int | 306 | static int |
| 307 | snd_harmony_playback_trigger(snd_pcm_substream_t *ss, int cmd) | 307 | snd_harmony_playback_trigger(struct snd_pcm_substream *ss, int cmd) |
| 308 | { | 308 | { |
| 309 | harmony_t *h = snd_pcm_substream_chip(ss); | 309 | struct snd_harmony *h = snd_pcm_substream_chip(ss); |
| 310 | 310 | ||
| 311 | if (h->st.capturing) | 311 | if (h->st.capturing) |
| 312 | return -EBUSY; | 312 | return -EBUSY; |
| @@ -340,9 +340,9 @@ snd_harmony_playback_trigger(snd_pcm_substream_t *ss, int cmd) | |||
| 340 | } | 340 | } |
| 341 | 341 | ||
| 342 | static int | 342 | static int |
| 343 | snd_harmony_capture_trigger(snd_pcm_substream_t *ss, int cmd) | 343 | snd_harmony_capture_trigger(struct snd_pcm_substream *ss, int cmd) |
| 344 | { | 344 | { |
| 345 | harmony_t *h = snd_pcm_substream_chip(ss); | 345 | struct snd_harmony *h = snd_pcm_substream_chip(ss); |
| 346 | 346 | ||
| 347 | if (h->st.playing) | 347 | if (h->st.playing) |
| 348 | return -EBUSY; | 348 | return -EBUSY; |
| @@ -376,7 +376,7 @@ snd_harmony_capture_trigger(snd_pcm_substream_t *ss, int cmd) | |||
| 376 | } | 376 | } |
| 377 | 377 | ||
| 378 | static int | 378 | static int |
| 379 | snd_harmony_set_data_format(harmony_t *h, int fmt, int force) | 379 | snd_harmony_set_data_format(struct snd_harmony *h, int fmt, int force) |
| 380 | { | 380 | { |
| 381 | int o = h->st.format; | 381 | int o = h->st.format; |
| 382 | int n; | 382 | int n; |
| @@ -406,10 +406,10 @@ snd_harmony_set_data_format(harmony_t *h, int fmt, int force) | |||
| 406 | } | 406 | } |
| 407 | 407 | ||
| 408 | static int | 408 | static int |
| 409 | snd_harmony_playback_prepare(snd_pcm_substream_t *ss) | 409 | snd_harmony_playback_prepare(struct snd_pcm_substream *ss) |
| 410 | { | 410 | { |
| 411 | harmony_t *h = snd_pcm_substream_chip(ss); | 411 | struct snd_harmony *h = snd_pcm_substream_chip(ss); |
| 412 | snd_pcm_runtime_t *rt = ss->runtime; | 412 | struct snd_pcm_runtime *rt = ss->runtime; |
| 413 | 413 | ||
| 414 | if (h->st.capturing) | 414 | if (h->st.capturing) |
| 415 | return -EBUSY; | 415 | return -EBUSY; |
| @@ -436,10 +436,10 @@ snd_harmony_playback_prepare(snd_pcm_substream_t *ss) | |||
| 436 | } | 436 | } |
| 437 | 437 | ||
| 438 | static int | 438 | static int |
| 439 | snd_harmony_capture_prepare(snd_pcm_substream_t *ss) | 439 | snd_harmony_capture_prepare(struct snd_pcm_substream *ss) |
| 440 | { | 440 | { |
| 441 | harmony_t *h = snd_pcm_substream_chip(ss); | 441 | struct snd_harmony *h = snd_pcm_substream_chip(ss); |
| 442 | snd_pcm_runtime_t *rt = ss->runtime; | 442 | struct snd_pcm_runtime *rt = ss->runtime; |
| 443 | 443 | ||
| 444 | if (h->st.playing) | 444 | if (h->st.playing) |
| 445 | return -EBUSY; | 445 | return -EBUSY; |
| @@ -466,10 +466,10 @@ snd_harmony_capture_prepare(snd_pcm_substream_t *ss) | |||
| 466 | } | 466 | } |
| 467 | 467 | ||
| 468 | static snd_pcm_uframes_t | 468 | static snd_pcm_uframes_t |
| 469 | snd_harmony_playback_pointer(snd_pcm_substream_t *ss) | 469 | snd_harmony_playback_pointer(struct snd_pcm_substream *ss) |
| 470 | { | 470 | { |
| 471 | snd_pcm_runtime_t *rt = ss->runtime; | 471 | struct snd_pcm_runtime *rt = ss->runtime; |
| 472 | harmony_t *h = snd_pcm_substream_chip(ss); | 472 | struct snd_harmony *h = snd_pcm_substream_chip(ss); |
| 473 | unsigned long pcuradd; | 473 | unsigned long pcuradd; |
| 474 | unsigned long played; | 474 | unsigned long played; |
| 475 | 475 | ||
| @@ -495,10 +495,10 @@ snd_harmony_playback_pointer(snd_pcm_substream_t *ss) | |||
| 495 | } | 495 | } |
| 496 | 496 | ||
| 497 | static snd_pcm_uframes_t | 497 | static snd_pcm_uframes_t |
| 498 | snd_harmony_capture_pointer(snd_pcm_substream_t *ss) | 498 | snd_harmony_capture_pointer(struct snd_pcm_substream *ss) |
| 499 | { | 499 | { |
| 500 | snd_pcm_runtime_t *rt = ss->runtime; | 500 | struct snd_pcm_runtime *rt = ss->runtime; |
| 501 | harmony_t *h = snd_pcm_substream_chip(ss); | 501 | struct snd_harmony *h = snd_pcm_substream_chip(ss); |
| 502 | unsigned long rcuradd; | 502 | unsigned long rcuradd; |
| 503 | unsigned long caught; | 503 | unsigned long caught; |
| 504 | 504 | ||
| @@ -524,10 +524,10 @@ snd_harmony_capture_pointer(snd_pcm_substream_t *ss) | |||
| 524 | } | 524 | } |
| 525 | 525 | ||
| 526 | static int | 526 | static int |
| 527 | snd_harmony_playback_open(snd_pcm_substream_t *ss) | 527 | snd_harmony_playback_open(struct snd_pcm_substream *ss) |
| 528 | { | 528 | { |
| 529 | harmony_t *h = snd_pcm_substream_chip(ss); | 529 | struct snd_harmony *h = snd_pcm_substream_chip(ss); |
| 530 | snd_pcm_runtime_t *rt = ss->runtime; | 530 | struct snd_pcm_runtime *rt = ss->runtime; |
| 531 | int err; | 531 | int err; |
| 532 | 532 | ||
| 533 | h->psubs = ss; | 533 | h->psubs = ss; |
| @@ -543,10 +543,10 @@ snd_harmony_playback_open(snd_pcm_substream_t *ss) | |||
| 543 | } | 543 | } |
| 544 | 544 | ||
| 545 | static int | 545 | static int |
| 546 | snd_harmony_capture_open(snd_pcm_substream_t *ss) | 546 | snd_harmony_capture_open(struct snd_pcm_substream *ss) |
| 547 | { | 547 | { |
| 548 | harmony_t *h = snd_pcm_substream_chip(ss); | 548 | struct snd_harmony *h = snd_pcm_substream_chip(ss); |
| 549 | snd_pcm_runtime_t *rt = ss->runtime; | 549 | struct snd_pcm_runtime *rt = ss->runtime; |
| 550 | int err; | 550 | int err; |
| 551 | 551 | ||
| 552 | h->csubs = ss; | 552 | h->csubs = ss; |
| @@ -562,27 +562,27 @@ snd_harmony_capture_open(snd_pcm_substream_t *ss) | |||
| 562 | } | 562 | } |
| 563 | 563 | ||
| 564 | static int | 564 | static int |
| 565 | snd_harmony_playback_close(snd_pcm_substream_t *ss) | 565 | snd_harmony_playback_close(struct snd_pcm_substream *ss) |
| 566 | { | 566 | { |
| 567 | harmony_t *h = snd_pcm_substream_chip(ss); | 567 | struct snd_harmony *h = snd_pcm_substream_chip(ss); |
| 568 | h->psubs = NULL; | 568 | h->psubs = NULL; |
| 569 | return 0; | 569 | return 0; |
| 570 | } | 570 | } |
| 571 | 571 | ||
| 572 | static int | 572 | static int |
| 573 | snd_harmony_capture_close(snd_pcm_substream_t *ss) | 573 | snd_harmony_capture_close(struct snd_pcm_substream *ss) |
| 574 | { | 574 | { |
| 575 | harmony_t *h = snd_pcm_substream_chip(ss); | 575 | struct snd_harmony *h = snd_pcm_substream_chip(ss); |
| 576 | h->csubs = NULL; | 576 | h->csubs = NULL; |
| 577 | return 0; | 577 | return 0; |
| 578 | } | 578 | } |
| 579 | 579 | ||
| 580 | static int | 580 | static int |
| 581 | snd_harmony_hw_params(snd_pcm_substream_t *ss, | 581 | snd_harmony_hw_params(struct snd_pcm_substream *ss, |
| 582 | snd_pcm_hw_params_t *hw) | 582 | struct snd_pcm_hw_params *hw) |
| 583 | { | 583 | { |
| 584 | int err; | 584 | int err; |
| 585 | harmony_t *h = snd_pcm_substream_chip(ss); | 585 | struct snd_harmony *h = snd_pcm_substream_chip(ss); |
| 586 | 586 | ||
| 587 | err = snd_pcm_lib_malloc_pages(ss, params_buffer_bytes(hw)); | 587 | err = snd_pcm_lib_malloc_pages(ss, params_buffer_bytes(hw)); |
| 588 | if (err > 0 && h->dma.type == SNDRV_DMA_TYPE_CONTINUOUS) | 588 | if (err > 0 && h->dma.type == SNDRV_DMA_TYPE_CONTINUOUS) |
| @@ -592,12 +592,12 @@ snd_harmony_hw_params(snd_pcm_substream_t *ss, | |||
| 592 | } | 592 | } |
| 593 | 593 | ||
| 594 | static int | 594 | static int |
| 595 | snd_harmony_hw_free(snd_pcm_substream_t *ss) | 595 | snd_harmony_hw_free(struct snd_pcm_substream *ss) |
| 596 | { | 596 | { |
| 597 | return snd_pcm_lib_free_pages(ss); | 597 | return snd_pcm_lib_free_pages(ss); |
| 598 | } | 598 | } |
| 599 | 599 | ||
| 600 | static snd_pcm_ops_t snd_harmony_playback_ops = { | 600 | static struct snd_pcm_ops snd_harmony_playback_ops = { |
| 601 | .open = snd_harmony_playback_open, | 601 | .open = snd_harmony_playback_open, |
| 602 | .close = snd_harmony_playback_close, | 602 | .close = snd_harmony_playback_close, |
| 603 | .ioctl = snd_pcm_lib_ioctl, | 603 | .ioctl = snd_pcm_lib_ioctl, |
| @@ -608,7 +608,7 @@ static snd_pcm_ops_t snd_harmony_playback_ops = { | |||
| 608 | .pointer = snd_harmony_playback_pointer, | 608 | .pointer = snd_harmony_playback_pointer, |
| 609 | }; | 609 | }; |
| 610 | 610 | ||
| 611 | static snd_pcm_ops_t snd_harmony_capture_ops = { | 611 | static struct snd_pcm_ops snd_harmony_capture_ops = { |
| 612 | .open = snd_harmony_capture_open, | 612 | .open = snd_harmony_capture_open, |
| 613 | .close = snd_harmony_capture_close, | 613 | .close = snd_harmony_capture_close, |
| 614 | .ioctl = snd_pcm_lib_ioctl, | 614 | .ioctl = snd_pcm_lib_ioctl, |
| @@ -620,9 +620,9 @@ static snd_pcm_ops_t snd_harmony_capture_ops = { | |||
| 620 | }; | 620 | }; |
| 621 | 621 | ||
| 622 | static int | 622 | static int |
| 623 | snd_harmony_pcm_init(harmony_t *h) | 623 | snd_harmony_pcm_init(struct snd_harmony *h) |
| 624 | { | 624 | { |
| 625 | snd_pcm_t *pcm; | 625 | struct snd_pcm *pcm; |
| 626 | int err; | 626 | int err; |
| 627 | 627 | ||
| 628 | harmony_disable_interrupts(h); | 628 | harmony_disable_interrupts(h); |
| @@ -683,15 +683,15 @@ snd_harmony_pcm_init(harmony_t *h) | |||
| 683 | } | 683 | } |
| 684 | 684 | ||
| 685 | static void | 685 | static void |
| 686 | snd_harmony_set_new_gain(harmony_t *h) | 686 | snd_harmony_set_new_gain(struct snd_harmony *h) |
| 687 | { | 687 | { |
| 688 | harmony_wait_for_control(h); | 688 | harmony_wait_for_control(h); |
| 689 | harmony_write(h, HARMONY_GAINCTL, h->st.gain); | 689 | harmony_write(h, HARMONY_GAINCTL, h->st.gain); |
| 690 | } | 690 | } |
| 691 | 691 | ||
| 692 | static int | 692 | static int |
| 693 | snd_harmony_mixercontrol_info(snd_kcontrol_t *kc, | 693 | snd_harmony_mixercontrol_info(struct snd_kcontrol *kc, |
| 694 | snd_ctl_elem_info_t *uinfo) | 694 | struct snd_ctl_elem_info *uinfo) |
| 695 | { | 695 | { |
| 696 | int mask = (kc->private_value >> 16) & 0xff; | 696 | int mask = (kc->private_value >> 16) & 0xff; |
| 697 | int left_shift = (kc->private_value) & 0xff; | 697 | int left_shift = (kc->private_value) & 0xff; |
| @@ -707,10 +707,10 @@ snd_harmony_mixercontrol_info(snd_kcontrol_t *kc, | |||
| 707 | } | 707 | } |
| 708 | 708 | ||
| 709 | static int | 709 | static int |
| 710 | snd_harmony_volume_get(snd_kcontrol_t *kc, | 710 | snd_harmony_volume_get(struct snd_kcontrol *kc, |
| 711 | snd_ctl_elem_value_t *ucontrol) | 711 | struct snd_ctl_elem_value *ucontrol) |
| 712 | { | 712 | { |
| 713 | harmony_t *h = snd_kcontrol_chip(kc); | 713 | struct snd_harmony *h = snd_kcontrol_chip(kc); |
| 714 | int shift_left = (kc->private_value) & 0xff; | 714 | int shift_left = (kc->private_value) & 0xff; |
| 715 | int shift_right = (kc->private_value >> 8) & 0xff; | 715 | int shift_right = (kc->private_value >> 8) & 0xff; |
| 716 | int mask = (kc->private_value >> 16) & 0xff; | 716 | int mask = (kc->private_value >> 16) & 0xff; |
| @@ -736,10 +736,10 @@ snd_harmony_volume_get(snd_kcontrol_t *kc, | |||
| 736 | } | 736 | } |
| 737 | 737 | ||
| 738 | static int | 738 | static int |
| 739 | snd_harmony_volume_put(snd_kcontrol_t *kc, | 739 | snd_harmony_volume_put(struct snd_kcontrol *kc, |
| 740 | snd_ctl_elem_value_t *ucontrol) | 740 | struct snd_ctl_elem_value *ucontrol) |
| 741 | { | 741 | { |
| 742 | harmony_t *h = snd_kcontrol_chip(kc); | 742 | struct snd_harmony *h = snd_kcontrol_chip(kc); |
| 743 | int shift_left = (kc->private_value) & 0xff; | 743 | int shift_left = (kc->private_value) & 0xff; |
| 744 | int shift_right = (kc->private_value >> 8) & 0xff; | 744 | int shift_right = (kc->private_value >> 8) & 0xff; |
| 745 | int mask = (kc->private_value >> 16) & 0xff; | 745 | int mask = (kc->private_value >> 16) & 0xff; |
| @@ -771,8 +771,8 @@ snd_harmony_volume_put(snd_kcontrol_t *kc, | |||
| 771 | } | 771 | } |
| 772 | 772 | ||
| 773 | static int | 773 | static int |
| 774 | snd_harmony_captureroute_info(snd_kcontrol_t *kc, | 774 | snd_harmony_captureroute_info(struct snd_kcontrol *kc, |
| 775 | snd_ctl_elem_info_t *uinfo) | 775 | struct snd_ctl_elem_info *uinfo) |
| 776 | { | 776 | { |
| 777 | static char *texts[2] = { "Line", "Mic" }; | 777 | static char *texts[2] = { "Line", "Mic" }; |
| 778 | uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; | 778 | uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; |
| @@ -786,10 +786,10 @@ snd_harmony_captureroute_info(snd_kcontrol_t *kc, | |||
| 786 | } | 786 | } |
| 787 | 787 | ||
| 788 | static int | 788 | static int |
| 789 | snd_harmony_captureroute_get(snd_kcontrol_t *kc, | 789 | snd_harmony_captureroute_get(struct snd_kcontrol *kc, |
| 790 | snd_ctl_elem_value_t *ucontrol) | 790 | struct snd_ctl_elem_value *ucontrol) |
| 791 | { | 791 | { |
| 792 | harmony_t *h = snd_kcontrol_chip(kc); | 792 | struct snd_harmony *h = snd_kcontrol_chip(kc); |
| 793 | int value; | 793 | int value; |
| 794 | 794 | ||
| 795 | spin_lock_irq(&h->mixer_lock); | 795 | spin_lock_irq(&h->mixer_lock); |
| @@ -803,10 +803,10 @@ snd_harmony_captureroute_get(snd_kcontrol_t *kc, | |||
| 803 | } | 803 | } |
| 804 | 804 | ||
| 805 | static int | 805 | static int |
| 806 | snd_harmony_captureroute_put(snd_kcontrol_t *kc, | 806 | snd_harmony_captureroute_put(struct snd_kcontrol *kc, |
| 807 | snd_ctl_elem_value_t *ucontrol) | 807 | struct snd_ctl_elem_value *ucontrol) |
| 808 | { | 808 | { |
| 809 | harmony_t *h = snd_kcontrol_chip(kc); | 809 | struct snd_harmony *h = snd_kcontrol_chip(kc); |
| 810 | int value; | 810 | int value; |
| 811 | int old_gain = h->st.gain; | 811 | int old_gain = h->st.gain; |
| 812 | 812 | ||
| @@ -823,8 +823,7 @@ snd_harmony_captureroute_put(snd_kcontrol_t *kc, | |||
| 823 | return h->st.gain != old_gain; | 823 | return h->st.gain != old_gain; |
| 824 | } | 824 | } |
| 825 | 825 | ||
| 826 | #define HARMONY_CONTROLS (sizeof(snd_harmony_controls)/ \ | 826 | #define HARMONY_CONTROLS ARRAY_SIZE(snd_harmony_controls) |
| 827 | sizeof(snd_kcontrol_new_t)) | ||
| 828 | 827 | ||
| 829 | #define HARMONY_VOLUME(xname, left_shift, right_shift, mask, invert) \ | 828 | #define HARMONY_VOLUME(xname, left_shift, right_shift, mask, invert) \ |
| 830 | { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, \ | 829 | { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, \ |
| @@ -833,7 +832,7 @@ snd_harmony_captureroute_put(snd_kcontrol_t *kc, | |||
| 833 | .private_value = ((left_shift) | ((right_shift) << 8) | \ | 832 | .private_value = ((left_shift) | ((right_shift) << 8) | \ |
| 834 | ((mask) << 16) | ((invert) << 24)) } | 833 | ((mask) << 16) | ((invert) << 24)) } |
| 835 | 834 | ||
| 836 | static snd_kcontrol_new_t snd_harmony_controls[] = { | 835 | static struct snd_kcontrol_new snd_harmony_controls[] = { |
| 837 | HARMONY_VOLUME("Master Playback Volume", HARMONY_GAIN_LO_SHIFT, | 836 | HARMONY_VOLUME("Master Playback Volume", HARMONY_GAIN_LO_SHIFT, |
| 838 | HARMONY_GAIN_RO_SHIFT, HARMONY_GAIN_OUT, 1), | 837 | HARMONY_GAIN_RO_SHIFT, HARMONY_GAIN_OUT, 1), |
| 839 | HARMONY_VOLUME("Capture Volume", HARMONY_GAIN_LI_SHIFT, | 838 | HARMONY_VOLUME("Capture Volume", HARMONY_GAIN_LI_SHIFT, |
| @@ -856,7 +855,7 @@ static snd_kcontrol_new_t snd_harmony_controls[] = { | |||
| 856 | }; | 855 | }; |
| 857 | 856 | ||
| 858 | static void __init | 857 | static void __init |
| 859 | snd_harmony_mixer_reset(harmony_t *h) | 858 | snd_harmony_mixer_reset(struct snd_harmony *h) |
| 860 | { | 859 | { |
| 861 | harmony_mute(h); | 860 | harmony_mute(h); |
| 862 | harmony_reset(h); | 861 | harmony_reset(h); |
| @@ -865,9 +864,9 @@ snd_harmony_mixer_reset(harmony_t *h) | |||
| 865 | } | 864 | } |
| 866 | 865 | ||
| 867 | static int __init | 866 | static int __init |
| 868 | snd_harmony_mixer_init(harmony_t *h) | 867 | snd_harmony_mixer_init(struct snd_harmony *h) |
| 869 | { | 868 | { |
| 870 | snd_card_t *card = h->card; | 869 | struct snd_card *card = h->card; |
| 871 | int idx, err; | 870 | int idx, err; |
| 872 | 871 | ||
| 873 | snd_assert(h != NULL, return -EINVAL); | 872 | snd_assert(h != NULL, return -EINVAL); |
| @@ -886,7 +885,7 @@ snd_harmony_mixer_init(harmony_t *h) | |||
| 886 | } | 885 | } |
| 887 | 886 | ||
| 888 | static int | 887 | static int |
| 889 | snd_harmony_free(harmony_t *h) | 888 | snd_harmony_free(struct snd_harmony *h) |
| 890 | { | 889 | { |
| 891 | if (h->gdma.addr) | 890 | if (h->gdma.addr) |
| 892 | snd_dma_free_pages(&h->gdma); | 891 | snd_dma_free_pages(&h->gdma); |
| @@ -906,20 +905,20 @@ snd_harmony_free(harmony_t *h) | |||
| 906 | } | 905 | } |
| 907 | 906 | ||
| 908 | static int | 907 | static int |
| 909 | snd_harmony_dev_free(snd_device_t *dev) | 908 | snd_harmony_dev_free(struct snd_device *dev) |
| 910 | { | 909 | { |
| 911 | harmony_t *h = dev->device_data; | 910 | struct snd_harmony *h = dev->device_data; |
| 912 | return snd_harmony_free(h); | 911 | return snd_harmony_free(h); |
| 913 | } | 912 | } |
| 914 | 913 | ||
| 915 | static int __devinit | 914 | static int __devinit |
| 916 | snd_harmony_create(snd_card_t *card, | 915 | snd_harmony_create(struct snd_card *card, |
| 917 | struct parisc_device *padev, | 916 | struct parisc_device *padev, |
| 918 | harmony_t **rchip) | 917 | struct snd_harmony **rchip) |
| 919 | { | 918 | { |
| 920 | int err; | 919 | int err; |
| 921 | harmony_t *h; | 920 | struct snd_harmony *h; |
| 922 | static snd_device_ops_t ops = { | 921 | static struct snd_device_ops ops = { |
| 923 | .dev_free = snd_harmony_dev_free, | 922 | .dev_free = snd_harmony_dev_free, |
| 924 | }; | 923 | }; |
| 925 | 924 | ||
| @@ -973,8 +972,8 @@ static int __devinit | |||
| 973 | snd_harmony_probe(struct parisc_device *padev) | 972 | snd_harmony_probe(struct parisc_device *padev) |
| 974 | { | 973 | { |
| 975 | int err; | 974 | int err; |
| 976 | snd_card_t *card; | 975 | struct snd_card *card; |
| 977 | harmony_t *h; | 976 | struct snd_harmony *h; |
| 978 | 977 | ||
| 979 | card = snd_card_new(index, id, THIS_MODULE, 0); | 978 | card = snd_card_new(index, id, THIS_MODULE, 0); |
| 980 | if (card == NULL) | 979 | if (card == NULL) |
| @@ -1033,7 +1032,7 @@ alsa_harmony_init(void) | |||
| 1033 | static void __exit | 1032 | static void __exit |
| 1034 | alsa_harmony_fini(void) | 1033 | alsa_harmony_fini(void) |
| 1035 | { | 1034 | { |
| 1036 | return unregister_parisc_driver(&snd_harmony_driver); | 1035 | unregister_parisc_driver(&snd_harmony_driver); |
| 1037 | } | 1036 | } |
| 1038 | 1037 | ||
| 1039 | MODULE_LICENSE("GPL"); | 1038 | MODULE_LICENSE("GPL"); |
diff --git a/sound/parisc/harmony.h b/sound/parisc/harmony.h index 526c52389de2..2e434523fedf 100644 --- a/sound/parisc/harmony.h +++ b/sound/parisc/harmony.h | |||
| @@ -13,7 +13,7 @@ struct harmony_buffer { | |||
| 13 | int coherent; | 13 | int coherent; |
| 14 | }; | 14 | }; |
| 15 | 15 | ||
| 16 | typedef struct snd_card_harmony { | 16 | struct snd_harmony { |
| 17 | int irq; | 17 | int irq; |
| 18 | 18 | ||
| 19 | unsigned long hpa; /* hard physical address */ | 19 | unsigned long hpa; /* hard physical address */ |
| @@ -44,15 +44,15 @@ typedef struct snd_card_harmony { | |||
| 44 | unsigned long silence_intr; | 44 | unsigned long silence_intr; |
| 45 | } stats; | 45 | } stats; |
| 46 | 46 | ||
| 47 | snd_pcm_t *pcm; | 47 | struct snd_pcm *pcm; |
| 48 | snd_card_t *card; | 48 | struct snd_card *card; |
| 49 | snd_pcm_substream_t *psubs; | 49 | struct snd_pcm_substream *psubs; |
| 50 | snd_pcm_substream_t *csubs; | 50 | struct snd_pcm_substream *csubs; |
| 51 | snd_info_entry_t *proc; | 51 | struct snd_info_entry *proc; |
| 52 | 52 | ||
| 53 | spinlock_t lock; | 53 | spinlock_t lock; |
| 54 | spinlock_t mixer_lock; | 54 | spinlock_t mixer_lock; |
| 55 | } harmony_t; | 55 | }; |
| 56 | 56 | ||
| 57 | #define MAX_PCM_DEVICES 1 | 57 | #define MAX_PCM_DEVICES 1 |
| 58 | #define MAX_PCM_SUBSTREAMS 4 | 58 | #define MAX_PCM_SUBSTREAMS 4 |
