From 8bf01d8abc55eaf8e19a2d48911c8e49ee6f5bab Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Mon, 2 Jul 2012 10:50:24 +0200 Subject: ALSA: Add missing .owner=THIS_MODULE to platform_driver definitions Signed-off-by: Takashi Iwai --- sound/atmel/ac97c.c | 1 + 1 file changed, 1 insertion(+) (limited to 'sound/atmel/ac97c.c') diff --git a/sound/atmel/ac97c.c b/sound/atmel/ac97c.c index f5ded640b395..3d0ea82ff068 100644 --- a/sound/atmel/ac97c.c +++ b/sound/atmel/ac97c.c @@ -1210,6 +1210,7 @@ static struct platform_driver atmel_ac97c_driver = { .remove = __devexit_p(atmel_ac97c_remove), .driver = { .name = "atmel_ac97c", + .owner = THIS_MODULE, }, .suspend = atmel_ac97c_suspend, .resume = atmel_ac97c_resume, -- cgit v1.2.3 From 284e7ca75f96a18f182cce38ba76ee724fb97e16 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Mon, 2 Jul 2012 11:22:40 +0200 Subject: ALSA: convert PM ops of platform_driver to new pm ops Signed-off-by: Takashi Iwai --- sound/atmel/ac97c.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'sound/atmel/ac97c.c') diff --git a/sound/atmel/ac97c.c b/sound/atmel/ac97c.c index 3d0ea82ff068..bf47025bdf45 100644 --- a/sound/atmel/ac97c.c +++ b/sound/atmel/ac97c.c @@ -1135,9 +1135,9 @@ err_snd_card_new: } #ifdef CONFIG_PM -static int atmel_ac97c_suspend(struct platform_device *pdev, pm_message_t msg) +static int atmel_ac97c_suspend(struct device *pdev) { - struct snd_card *card = platform_get_drvdata(pdev); + struct snd_card *card = dev_get_drvdata(pdev); struct atmel_ac97c *chip = card->private_data; if (cpu_is_at32ap7000()) { @@ -1151,9 +1151,9 @@ static int atmel_ac97c_suspend(struct platform_device *pdev, pm_message_t msg) return 0; } -static int atmel_ac97c_resume(struct platform_device *pdev) +static int atmel_ac97c_resume(struct device *pdev) { - struct snd_card *card = platform_get_drvdata(pdev); + struct snd_card *card = dev_get_drvdata(pdev); struct atmel_ac97c *chip = card->private_data; clk_enable(chip->pclk); @@ -1165,9 +1165,11 @@ static int atmel_ac97c_resume(struct platform_device *pdev) } return 0; } + +static SIMPLE_DEV_PM_OPS(atmel_ac97c_pm, atmel_ac97c_suspend, atmel_ac97c_resume); +#define ATMEL_AC97C_PM_OPS &atmel_ac97c_pm #else -#define atmel_ac97c_suspend NULL -#define atmel_ac97c_resume NULL +#define ATMEL_AC97C_PM_OPS NULL #endif static int __devexit atmel_ac97c_remove(struct platform_device *pdev) @@ -1211,9 +1213,8 @@ static struct platform_driver atmel_ac97c_driver = { .driver = { .name = "atmel_ac97c", .owner = THIS_MODULE, + .pm = ATMEL_AC97C_PM_OPS, }, - .suspend = atmel_ac97c_suspend, - .resume = atmel_ac97c_resume, }; static int __init atmel_ac97c_init(void) -- cgit v1.2.3 From d34e4e00adbbc91ff9fc96ed9a4e4b65161868da Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Thu, 9 Aug 2012 15:47:15 +0200 Subject: ALSA: platform: Check CONFIG_PM_SLEEP instead of CONFIG_PM When CONFIG_PM is set but CONFIG_PM_SLEEP is unset, SIMPLE_DEV_PM_OPS() ignores the given functions, and this leads to compile warnings. For avoiding this, simply check CONFIG_PM_SLEEP instead of CONFIG_PM. Reported-by: Arnd Bergmann Signed-off-by: Takashi Iwai --- sound/atmel/ac97c.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sound/atmel/ac97c.c') diff --git a/sound/atmel/ac97c.c b/sound/atmel/ac97c.c index bf47025bdf45..3c8d3ba7ddfc 100644 --- a/sound/atmel/ac97c.c +++ b/sound/atmel/ac97c.c @@ -1134,7 +1134,7 @@ err_snd_card_new: return retval; } -#ifdef CONFIG_PM +#ifdef CONFIG_PM_SLEEP static int atmel_ac97c_suspend(struct device *pdev) { struct snd_card *card = dev_get_drvdata(pdev); -- cgit v1.2.3 From 0c23e46eb4878422c25351ff54ab0fe80c643809 Mon Sep 17 00:00:00 2001 From: Julia Lawall Date: Sun, 19 Aug 2012 09:02:57 +0200 Subject: ALSA: sound/atmel/ac97c.c: fix error return code In the first case, the second test of whether retval is negative is redundant. It is dropped and the previous and subsequent tests are combined. In the second case, add an initialization of retval on failure of ioremap. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // ( if@p1 (\(ret < 0\|ret != 0\)) { ... return ret; } | ret@p1 = 0 ) ... when != ret = e1 when != &ret *if(...) { ... when != ret = e2 when forall return ret; } // Signed-off-by: Julia Lawall Signed-off-by: Takashi Iwai --- sound/atmel/ac97c.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'sound/atmel/ac97c.c') diff --git a/sound/atmel/ac97c.c b/sound/atmel/ac97c.c index 3c8d3ba7ddfc..9052aff37f64 100644 --- a/sound/atmel/ac97c.c +++ b/sound/atmel/ac97c.c @@ -278,14 +278,9 @@ static int atmel_ac97c_capture_hw_params(struct snd_pcm_substream *substream, if (retval < 0) return retval; /* snd_pcm_lib_malloc_pages returns 1 if buffer is changed. */ - if (cpu_is_at32ap7000()) { - if (retval < 0) - return retval; - /* snd_pcm_lib_malloc_pages returns 1 if buffer is changed. */ - if (retval == 1) - if (test_and_clear_bit(DMA_RX_READY, &chip->flags)) - dw_dma_cyclic_free(chip->dma.rx_chan); - } + if (cpu_is_at32ap7000() && retval == 1) + if (test_and_clear_bit(DMA_RX_READY, &chip->flags)) + dw_dma_cyclic_free(chip->dma.rx_chan); /* Set restrictions to params. */ mutex_lock(&opened_mutex); @@ -980,6 +975,7 @@ static int __devinit atmel_ac97c_probe(struct platform_device *pdev) if (!chip->regs) { dev_dbg(&pdev->dev, "could not remap register memory\n"); + retval = -ENOMEM; goto err_ioremap; } -- cgit v1.2.3