diff options
Diffstat (limited to 'sound')
-rw-r--r-- | sound/core/pcm.c | 3 | ||||
-rw-r--r-- | sound/core/pcm_native.c | 14 | ||||
-rw-r--r-- | sound/pci/emu10k1/emu10k1_main.c | 2 | ||||
-rw-r--r-- | sound/pci/hda/hda_local.h | 2 | ||||
-rw-r--r-- | sound/pcmcia/pdaudiocf/pdaudiocf.c | 12 | ||||
-rw-r--r-- | sound/pcmcia/pdaudiocf/pdaudiocf.h | 1 | ||||
-rw-r--r-- | sound/pcmcia/vx/vxpocket.c | 10 | ||||
-rw-r--r-- | sound/pcmcia/vx/vxpocket.h | 1 |
8 files changed, 15 insertions, 30 deletions
diff --git a/sound/core/pcm.c b/sound/core/pcm.c index 0d428d0896db..cbe815dfbdc8 100644 --- a/sound/core/pcm.c +++ b/sound/core/pcm.c | |||
@@ -648,9 +648,6 @@ int snd_pcm_new_stream(struct snd_pcm *pcm, int stream, int substream_count) | |||
648 | substream->number = idx; | 648 | substream->number = idx; |
649 | substream->stream = stream; | 649 | substream->stream = stream; |
650 | sprintf(substream->name, "subdevice #%i", idx); | 650 | sprintf(substream->name, "subdevice #%i", idx); |
651 | snprintf(substream->latency_id, sizeof(substream->latency_id), | ||
652 | "ALSA-PCM%d-%d%c%d", pcm->card->number, pcm->device, | ||
653 | (stream ? 'c' : 'p'), idx); | ||
654 | substream->buffer_bytes_max = UINT_MAX; | 651 | substream->buffer_bytes_max = UINT_MAX; |
655 | if (prev == NULL) | 652 | if (prev == NULL) |
656 | pstr->substream = substream; | 653 | pstr->substream = substream; |
diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c index 20b5982c996b..192dd407512f 100644 --- a/sound/core/pcm_native.c +++ b/sound/core/pcm_native.c | |||
@@ -484,11 +484,13 @@ static int snd_pcm_hw_params(struct snd_pcm_substream *substream, | |||
484 | snd_pcm_timer_resolution_change(substream); | 484 | snd_pcm_timer_resolution_change(substream); |
485 | runtime->status->state = SNDRV_PCM_STATE_SETUP; | 485 | runtime->status->state = SNDRV_PCM_STATE_SETUP; |
486 | 486 | ||
487 | pm_qos_remove_requirement(PM_QOS_CPU_DMA_LATENCY, | 487 | if (substream->latency_pm_qos_req) { |
488 | substream->latency_id); | 488 | pm_qos_remove_request(substream->latency_pm_qos_req); |
489 | substream->latency_pm_qos_req = NULL; | ||
490 | } | ||
489 | if ((usecs = period_to_usecs(runtime)) >= 0) | 491 | if ((usecs = period_to_usecs(runtime)) >= 0) |
490 | pm_qos_add_requirement(PM_QOS_CPU_DMA_LATENCY, | 492 | substream->latency_pm_qos_req = pm_qos_add_request( |
491 | substream->latency_id, usecs); | 493 | PM_QOS_CPU_DMA_LATENCY, usecs); |
492 | return 0; | 494 | return 0; |
493 | _error: | 495 | _error: |
494 | /* hardware might be unuseable from this time, | 496 | /* hardware might be unuseable from this time, |
@@ -543,8 +545,8 @@ static int snd_pcm_hw_free(struct snd_pcm_substream *substream) | |||
543 | if (substream->ops->hw_free) | 545 | if (substream->ops->hw_free) |
544 | result = substream->ops->hw_free(substream); | 546 | result = substream->ops->hw_free(substream); |
545 | runtime->status->state = SNDRV_PCM_STATE_OPEN; | 547 | runtime->status->state = SNDRV_PCM_STATE_OPEN; |
546 | pm_qos_remove_requirement(PM_QOS_CPU_DMA_LATENCY, | 548 | pm_qos_remove_request(substream->latency_pm_qos_req); |
547 | substream->latency_id); | 549 | substream->latency_pm_qos_req = NULL; |
548 | return result; | 550 | return result; |
549 | } | 551 | } |
550 | 552 | ||
diff --git a/sound/pci/emu10k1/emu10k1_main.c b/sound/pci/emu10k1/emu10k1_main.c index f18bd6207c50..66c7fb3ced3e 100644 --- a/sound/pci/emu10k1/emu10k1_main.c +++ b/sound/pci/emu10k1/emu10k1_main.c | |||
@@ -1787,7 +1787,7 @@ int __devinit snd_emu10k1_create(struct snd_card *card, | |||
1787 | else if (subsystem) | 1787 | else if (subsystem) |
1788 | snd_printdd("Sound card name = %s, " | 1788 | snd_printdd("Sound card name = %s, " |
1789 | "vendor = 0x%x, device = 0x%x, subsystem = 0x%x. " | 1789 | "vendor = 0x%x, device = 0x%x, subsystem = 0x%x. " |
1790 | "Forced to subsytem = 0x%x\n", c->name, | 1790 | "Forced to subsystem = 0x%x\n", c->name, |
1791 | pci->vendor, pci->device, emu->serial, c->subsystem); | 1791 | pci->vendor, pci->device, emu->serial, c->subsystem); |
1792 | else | 1792 | else |
1793 | snd_printdd("Sound card name = %s, " | 1793 | snd_printdd("Sound card name = %s, " |
diff --git a/sound/pci/hda/hda_local.h b/sound/pci/hda/hda_local.h index 7cee364976ff..7a97f126f6f7 100644 --- a/sound/pci/hda/hda_local.h +++ b/sound/pci/hda/hda_local.h | |||
@@ -361,7 +361,7 @@ struct hda_bus_unsolicited { | |||
361 | }; | 361 | }; |
362 | 362 | ||
363 | /* | 363 | /* |
364 | * Helper for automatic ping configuration | 364 | * Helper for automatic pin configuration |
365 | */ | 365 | */ |
366 | 366 | ||
367 | enum { | 367 | enum { |
diff --git a/sound/pcmcia/pdaudiocf/pdaudiocf.c b/sound/pcmcia/pdaudiocf/pdaudiocf.c index edaa729126bb..df110df52a8b 100644 --- a/sound/pcmcia/pdaudiocf/pdaudiocf.c +++ b/sound/pcmcia/pdaudiocf/pdaudiocf.c | |||
@@ -142,12 +142,7 @@ static int snd_pdacf_probe(struct pcmcia_device *link) | |||
142 | link->io.Attributes1 = IO_DATA_PATH_WIDTH_AUTO; | 142 | link->io.Attributes1 = IO_DATA_PATH_WIDTH_AUTO; |
143 | link->io.NumPorts1 = 16; | 143 | link->io.NumPorts1 = 16; |
144 | 144 | ||
145 | link->irq.Attributes = IRQ_TYPE_EXCLUSIVE | IRQ_FORCED_PULSE; | 145 | link->conf.Attributes = CONF_ENABLE_IRQ | CONF_ENABLE_PULSE_IRQ; |
146 | /* FIXME: This driver should be updated to allow for dynamic IRQ sharing */ | ||
147 | /* link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING | IRQ_FORCED_PULSE; */ | ||
148 | |||
149 | link->irq.Handler = pdacf_interrupt; | ||
150 | link->conf.Attributes = CONF_ENABLE_IRQ; | ||
151 | link->conf.IntType = INT_MEMORY_AND_IO; | 146 | link->conf.IntType = INT_MEMORY_AND_IO; |
152 | link->conf.ConfigIndex = 1; | 147 | link->conf.ConfigIndex = 1; |
153 | link->conf.Present = PRESENT_OPTION; | 148 | link->conf.Present = PRESENT_OPTION; |
@@ -228,7 +223,7 @@ static int pdacf_config(struct pcmcia_device *link) | |||
228 | if (ret) | 223 | if (ret) |
229 | goto failed; | 224 | goto failed; |
230 | 225 | ||
231 | ret = pcmcia_request_irq(link, &link->irq); | 226 | ret = pcmcia_request_exclusive_irq(link, pdacf_interrupt); |
232 | if (ret) | 227 | if (ret) |
233 | goto failed; | 228 | goto failed; |
234 | 229 | ||
@@ -236,10 +231,9 @@ static int pdacf_config(struct pcmcia_device *link) | |||
236 | if (ret) | 231 | if (ret) |
237 | goto failed; | 232 | goto failed; |
238 | 233 | ||
239 | if (snd_pdacf_assign_resources(pdacf, link->io.BasePort1, link->irq.AssignedIRQ) < 0) | 234 | if (snd_pdacf_assign_resources(pdacf, link->io.BasePort1, link->irq) < 0) |
240 | goto failed; | 235 | goto failed; |
241 | 236 | ||
242 | link->dev_node = &pdacf->node; | ||
243 | return 0; | 237 | return 0; |
244 | 238 | ||
245 | failed: | 239 | failed: |
diff --git a/sound/pcmcia/pdaudiocf/pdaudiocf.h b/sound/pcmcia/pdaudiocf/pdaudiocf.h index b0601838112d..a0a7ec64222a 100644 --- a/sound/pcmcia/pdaudiocf/pdaudiocf.h +++ b/sound/pcmcia/pdaudiocf/pdaudiocf.h | |||
@@ -117,7 +117,6 @@ struct snd_pdacf { | |||
117 | 117 | ||
118 | /* pcmcia stuff */ | 118 | /* pcmcia stuff */ |
119 | struct pcmcia_device *p_dev; | 119 | struct pcmcia_device *p_dev; |
120 | dev_node_t node; | ||
121 | }; | 120 | }; |
122 | 121 | ||
123 | static inline void pdacf_reg_write(struct snd_pdacf *chip, unsigned char reg, unsigned short val) | 122 | static inline void pdacf_reg_write(struct snd_pdacf *chip, unsigned char reg, unsigned short val) |
diff --git a/sound/pcmcia/vx/vxpocket.c b/sound/pcmcia/vx/vxpocket.c index cfd1438bcc64..624b47a85f0a 100644 --- a/sound/pcmcia/vx/vxpocket.c +++ b/sound/pcmcia/vx/vxpocket.c | |||
@@ -162,10 +162,6 @@ static int snd_vxpocket_new(struct snd_card *card, int ibl, | |||
162 | link->io.Attributes1 = IO_DATA_PATH_WIDTH_AUTO; | 162 | link->io.Attributes1 = IO_DATA_PATH_WIDTH_AUTO; |
163 | link->io.NumPorts1 = 16; | 163 | link->io.NumPorts1 = 16; |
164 | 164 | ||
165 | link->irq.Attributes = IRQ_TYPE_EXCLUSIVE; | ||
166 | |||
167 | link->irq.Handler = &snd_vx_irq_handler; | ||
168 | |||
169 | link->conf.Attributes = CONF_ENABLE_IRQ; | 165 | link->conf.Attributes = CONF_ENABLE_IRQ; |
170 | link->conf.IntType = INT_MEMORY_AND_IO; | 166 | link->conf.IntType = INT_MEMORY_AND_IO; |
171 | link->conf.ConfigIndex = 1; | 167 | link->conf.ConfigIndex = 1; |
@@ -215,7 +211,6 @@ static int snd_vxpocket_assign_resources(struct vx_core *chip, int port, int irq | |||
215 | static int vxpocket_config(struct pcmcia_device *link) | 211 | static int vxpocket_config(struct pcmcia_device *link) |
216 | { | 212 | { |
217 | struct vx_core *chip = link->priv; | 213 | struct vx_core *chip = link->priv; |
218 | struct snd_vxpocket *vxp = (struct snd_vxpocket *)chip; | ||
219 | int ret; | 214 | int ret; |
220 | 215 | ||
221 | snd_printdd(KERN_DEBUG "vxpocket_config called\n"); | 216 | snd_printdd(KERN_DEBUG "vxpocket_config called\n"); |
@@ -235,7 +230,7 @@ static int vxpocket_config(struct pcmcia_device *link) | |||
235 | if (ret) | 230 | if (ret) |
236 | goto failed; | 231 | goto failed; |
237 | 232 | ||
238 | ret = pcmcia_request_irq(link, &link->irq); | 233 | ret = pcmcia_request_exclusive_irq(link, snd_vx_irq_handler); |
239 | if (ret) | 234 | if (ret) |
240 | goto failed; | 235 | goto failed; |
241 | 236 | ||
@@ -246,10 +241,9 @@ static int vxpocket_config(struct pcmcia_device *link) | |||
246 | chip->dev = &link->dev; | 241 | chip->dev = &link->dev; |
247 | snd_card_set_dev(chip->card, chip->dev); | 242 | snd_card_set_dev(chip->card, chip->dev); |
248 | 243 | ||
249 | if (snd_vxpocket_assign_resources(chip, link->io.BasePort1, link->irq.AssignedIRQ) < 0) | 244 | if (snd_vxpocket_assign_resources(chip, link->io.BasePort1, link->irq) < 0) |
250 | goto failed; | 245 | goto failed; |
251 | 246 | ||
252 | link->dev_node = &vxp->node; | ||
253 | return 0; | 247 | return 0; |
254 | 248 | ||
255 | failed: | 249 | failed: |
diff --git a/sound/pcmcia/vx/vxpocket.h b/sound/pcmcia/vx/vxpocket.h index 27ea002294c0..ea4df16a28ef 100644 --- a/sound/pcmcia/vx/vxpocket.h +++ b/sound/pcmcia/vx/vxpocket.h | |||
@@ -43,7 +43,6 @@ struct snd_vxpocket { | |||
43 | 43 | ||
44 | /* pcmcia stuff */ | 44 | /* pcmcia stuff */ |
45 | struct pcmcia_device *p_dev; | 45 | struct pcmcia_device *p_dev; |
46 | dev_node_t node; | ||
47 | }; | 46 | }; |
48 | 47 | ||
49 | extern struct snd_vx_ops snd_vxpocket_ops; | 48 | extern struct snd_vx_ops snd_vxpocket_ops; |