Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 270633
b: refs/heads/master
c: 3a98cd6
h: refs/heads/master
i:
  270631: 239e02e
v: v3
  • Loading branch information
Peter Ujfalusi committed Sep 22, 2011
1 parent 7fc6ea1 commit 37bf9fa
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 21 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: b199adfdff98092b16f67860013fb5263579c476
refs/heads/master: 3a98cd6b2b0459de4ebf85356fbcc34b9848b58a
38 changes: 21 additions & 17 deletions trunk/sound/soc/omap/mcpdm.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
#include <linux/slab.h>
#include <linux/interrupt.h>
#include <linux/err.h>
#include <linux/clk.h>
#include <linux/pm_runtime.h>
#include <linux/delay.h>
#include <linux/io.h>
#include <linux/irq.h>
Expand Down Expand Up @@ -322,11 +322,11 @@ static irqreturn_t omap_mcpdm_irq_handler(int irq, void *dev_id)
return IRQ_HANDLED;
}

int omap_mcpdm_request(void)
int omap_mcpdm_request(void)
{
int ret;

clk_enable(mcpdm->clk);
pm_runtime_get_sync(mcpdm->dev);

spin_lock(&mcpdm->lock);

Expand All @@ -353,7 +353,8 @@ int omap_mcpdm_request(void)
return 0;

err:
clk_disable(mcpdm->clk);
mcpdm->free = 1;
pm_runtime_put_sync(mcpdm->dev);
return ret;
}

Expand All @@ -368,7 +369,7 @@ void omap_mcpdm_free(void)
mcpdm->free = 1;
spin_unlock(&mcpdm->lock);

clk_disable(mcpdm->clk);
pm_runtime_put_sync(mcpdm->dev);

free_irq(mcpdm->irq, (void *)mcpdm);
}
Expand Down Expand Up @@ -421,28 +422,29 @@ int __devinit omap_mcpdm_probe(struct platform_device *pdev)

spin_lock_init(&mcpdm->lock);
mcpdm->free = 1;

if (!request_mem_region(res->start, resource_size(res), "McPDM")) {
ret = -EBUSY;
goto err_resource;
}

mcpdm->io_base = ioremap(res->start, resource_size(res));
if (!mcpdm->io_base) {
ret = -ENOMEM;
goto err_resource;
goto err_remap;
}

mcpdm->irq = platform_get_irq(pdev, 0);

mcpdm->clk = clk_get(&pdev->dev, "pdm_ck");
if (IS_ERR(mcpdm->clk)) {
ret = PTR_ERR(mcpdm->clk);
dev_err(&pdev->dev, "unable to get pdm_ck: %d\n", ret);
goto err_clk;
}

mcpdm->dev = &pdev->dev;
platform_set_drvdata(pdev, mcpdm);

pm_runtime_enable(mcpdm->dev);

return 0;

err_clk:
iounmap(mcpdm->io_base);
err_remap:
release_mem_region(res->start, resource_size(res));
err_resource:
kfree(mcpdm);
exit:
Expand All @@ -452,14 +454,16 @@ int __devinit omap_mcpdm_probe(struct platform_device *pdev)
int __devexit omap_mcpdm_remove(struct platform_device *pdev)
{
struct omap_mcpdm *mcpdm_ptr = platform_get_drvdata(pdev);
struct resource *res;

platform_set_drvdata(pdev, NULL);

clk_put(mcpdm_ptr->clk);
pm_runtime_disable(mcpdm_ptr->dev);

iounmap(mcpdm_ptr->io_base);
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
release_mem_region(res->start, resource_size(res));

mcpdm_ptr->clk = NULL;
mcpdm_ptr->free = 0;
mcpdm_ptr->dev = NULL;

Expand Down
1 change: 0 additions & 1 deletion trunk/sound/soc/omap/mcpdm.h
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,6 @@ struct omap_mcpdm {

spinlock_t lock;
struct omap_mcpdm_platform_data *pdata;
struct clk *clk;
struct omap_mcpdm_link *downlink;
struct omap_mcpdm_link *uplink;
struct completion irq_completion;
Expand Down
2 changes: 1 addition & 1 deletion trunk/sound/soc/omap/omap-mcpdm.c
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,7 @@ static int __devexit asoc_mcpdm_remove(struct platform_device *pdev)

static struct platform_driver asoc_mcpdm_driver = {
.driver = {
.name = "omap-mcpdm-dai",
.name = "omap-mcpdm",
.owner = THIS_MODULE,
},

Expand Down
2 changes: 1 addition & 1 deletion trunk/sound/soc/omap/sdp4430.c
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ static int sdp4430_twl6040_init(struct snd_soc_pcm_runtime *rtd)
static struct snd_soc_dai_link sdp4430_dai = {
.name = "TWL6040",
.stream_name = "TWL6040",
.cpu_dai_name ="omap-mcpdm-dai",
.cpu_dai_name = "omap-mcpdm",
.codec_dai_name = "twl6040-hifi",
.platform_name = "omap-pcm-audio",
.codec_name = "twl6040-codec",
Expand Down

0 comments on commit 37bf9fa

Please sign in to comment.