From 24da2ec4586d7d205b84253041ca589a3ee24fa8 Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Tue, 5 Oct 2010 21:59:08 -0700 Subject: [PATCH] [ARM] tegra: i2s: Update pm_qos for 2.6.36 Change-Id: I205457db1432c672b026887defa8d498bc613412 Signed-off-by: Colin Cross --- arch/arm/mach-tegra/tegra_i2s_audio.c | 29 ++++++++------------------- 1 file changed, 8 insertions(+), 21 deletions(-) diff --git a/arch/arm/mach-tegra/tegra_i2s_audio.c b/arch/arm/mach-tegra/tegra_i2s_audio.c index e16b22a5a9dd..00cd959c7952 100644 --- a/arch/arm/mach-tegra/tegra_i2s_audio.c +++ b/arch/arm/mach-tegra/tegra_i2s_audio.c @@ -84,7 +84,7 @@ struct audio_stream { int dma_has_it; struct tegra_dma_req dma_req; - struct pm_qos_request_list *pm_qos; + struct pm_qos_request_list pm_qos; struct wake_lock wake_lock; }; @@ -533,7 +533,7 @@ static int start_playback(struct audio_stream *aos) rc = sound_ops->start_playback(aos); spin_unlock_irqrestore(&aos->dma_req_lock, flags); if (!rc) { - pm_qos_update_request(aos->pm_qos, 0); + pm_qos_update_request(&aos->pm_qos, 0); wake_lock(&aos->wake_lock); } return rc; @@ -552,7 +552,7 @@ static int start_recording_if_necessary(struct audio_stream *ais) } spin_unlock_irqrestore(&ais->dma_req_lock, flags); if (!rc) { - pm_qos_update_request(ais->pm_qos, 0); + pm_qos_update_request(&ais->pm_qos, 0); wake_lock(&ais->wake_lock); } return rc; @@ -567,7 +567,7 @@ static bool stop_playback_if_necessary(struct audio_stream *aos) if (aos->active) aos->errors.full_empty++; /* underflow */ spin_unlock_irqrestore(&aos->dma_req_lock, flags); - pm_qos_update_request(aos->pm_qos, PM_QOS_DEFAULT_VALUE); + pm_qos_update_request(&aos->pm_qos, PM_QOS_DEFAULT_VALUE); wake_unlock(&aos->wake_lock); return true; } @@ -597,7 +597,7 @@ static bool stop_recording(struct audio_stream *ais) rc = wait_for_completion_interruptible( &ais->stop_completion); pr_debug("%s: done: %d\n", __func__, rc); - pm_qos_update_request(ais->pm_qos, PM_QOS_DEFAULT_VALUE); + pm_qos_update_request(&ais->pm_qos, PM_QOS_DEFAULT_VALUE); wake_unlock(&ais->wake_lock); return true; } @@ -2058,7 +2058,7 @@ static int tegra_audio_probe(struct platform_device *pdev) pr_info("%s\n", __func__); - state = kmalloc(sizeof(*state), GFP_KERNEL); + state = kzalloc(sizeof(*state), GFP_KERNEL); if (!state) return -ENOMEM; @@ -2192,23 +2192,10 @@ static int tegra_audio_probe(struct platform_device *pdev) if (rc < 0) return rc; - state->in.pm_qos = pm_qos_add_request(PM_QOS_CPU_DMA_LATENCY, + pm_qos_add_request(&state->in.pm_qos, PM_QOS_CPU_DMA_LATENCY, PM_QOS_DEFAULT_VALUE); - if (!state->in.pm_qos) { - dev_err(&pdev->dev, - "%s: could not register pm_qos handle for input\n", - __func__); - return -EIO; - } - - state->out.pm_qos = pm_qos_add_request(PM_QOS_CPU_DMA_LATENCY, + pm_qos_add_request(&state->out.pm_qos, PM_QOS_CPU_DMA_LATENCY, PM_QOS_DEFAULT_VALUE); - if (!state->out.pm_qos) { - dev_err(&pdev->dev, - "%s: could not register pm_qos handle for output\n", - __func__); - return -EIO; - } wake_lock_init(&state->in.wake_lock, WAKE_LOCK_SUSPEND, "tegra-audio-in"); -- 2.34.1