diff options
Diffstat (limited to 'sound/soc/pxa')
-rw-r--r-- | sound/soc/pxa/brownstone.c | 1 | ||||
-rw-r--r-- | sound/soc/pxa/corgi.c | 1 | ||||
-rw-r--r-- | sound/soc/pxa/e740_wm9705.c | 1 | ||||
-rw-r--r-- | sound/soc/pxa/e750_wm9705.c | 1 | ||||
-rw-r--r-- | sound/soc/pxa/e800_wm9712.c | 1 | ||||
-rw-r--r-- | sound/soc/pxa/hx4700.c | 1 | ||||
-rw-r--r-- | sound/soc/pxa/imote2.c | 1 | ||||
-rw-r--r-- | sound/soc/pxa/mioa701_wm9713.c | 8 | ||||
-rw-r--r-- | sound/soc/pxa/mmp-pcm.c | 1 | ||||
-rw-r--r-- | sound/soc/pxa/mmp-sspa.c | 1 | ||||
-rw-r--r-- | sound/soc/pxa/palm27x.c | 1 | ||||
-rw-r--r-- | sound/soc/pxa/poodle.c | 1 | ||||
-rw-r--r-- | sound/soc/pxa/pxa-ssp.c | 17 | ||||
-rw-r--r-- | sound/soc/pxa/pxa2xx-ac97.c | 7 | ||||
-rw-r--r-- | sound/soc/pxa/pxa2xx-i2s.c | 1 | ||||
-rw-r--r-- | sound/soc/pxa/pxa2xx-pcm.c | 1 | ||||
-rw-r--r-- | sound/soc/pxa/spitz.c | 52 | ||||
-rw-r--r-- | sound/soc/pxa/tosa.c | 1 | ||||
-rw-r--r-- | sound/soc/pxa/ttc-dkb.c | 1 |
19 files changed, 41 insertions, 58 deletions
diff --git a/sound/soc/pxa/brownstone.c b/sound/soc/pxa/brownstone.c index c8dd53f9c35d..79936e3e80e7 100644 --- a/sound/soc/pxa/brownstone.c +++ b/sound/soc/pxa/brownstone.c @@ -155,7 +155,6 @@ static int brownstone_remove(struct platform_device *pdev) static struct platform_driver mmp_driver = { .driver = { .name = "brownstone-audio", - .owner = THIS_MODULE, .pm = &snd_soc_pm_ops, }, .probe = brownstone_probe, diff --git a/sound/soc/pxa/corgi.c b/sound/soc/pxa/corgi.c index 5a88136aa800..b7cd0a71fd70 100644 --- a/sound/soc/pxa/corgi.c +++ b/sound/soc/pxa/corgi.c @@ -327,7 +327,6 @@ static int corgi_remove(struct platform_device *pdev) static struct platform_driver corgi_driver = { .driver = { .name = "corgi-audio", - .owner = THIS_MODULE, .pm = &snd_soc_pm_ops, }, .probe = corgi_probe, diff --git a/sound/soc/pxa/e740_wm9705.c b/sound/soc/pxa/e740_wm9705.c index c29fedab2f49..7c691aae8af2 100644 --- a/sound/soc/pxa/e740_wm9705.c +++ b/sound/soc/pxa/e740_wm9705.c @@ -177,7 +177,6 @@ static int e740_remove(struct platform_device *pdev) static struct platform_driver e740_driver = { .driver = { .name = "e740-audio", - .owner = THIS_MODULE, .pm = &snd_soc_pm_ops, }, .probe = e740_probe, diff --git a/sound/soc/pxa/e750_wm9705.c b/sound/soc/pxa/e750_wm9705.c index ee36aba88063..30544b65b5a8 100644 --- a/sound/soc/pxa/e750_wm9705.c +++ b/sound/soc/pxa/e750_wm9705.c @@ -159,7 +159,6 @@ static int e750_remove(struct platform_device *pdev) static struct platform_driver e750_driver = { .driver = { .name = "e750-audio", - .owner = THIS_MODULE, .pm = &snd_soc_pm_ops, }, .probe = e750_probe, diff --git a/sound/soc/pxa/e800_wm9712.c b/sound/soc/pxa/e800_wm9712.c index 24c2078ce70b..45d4bd46fff6 100644 --- a/sound/soc/pxa/e800_wm9712.c +++ b/sound/soc/pxa/e800_wm9712.c @@ -140,7 +140,6 @@ static int e800_remove(struct platform_device *pdev) static struct platform_driver e800_driver = { .driver = { .name = "e800-audio", - .owner = THIS_MODULE, .pm = &snd_soc_pm_ops, }, .probe = e800_probe, diff --git a/sound/soc/pxa/hx4700.c b/sound/soc/pxa/hx4700.c index 05559a725bec..ce26551052a3 100644 --- a/sound/soc/pxa/hx4700.c +++ b/sound/soc/pxa/hx4700.c @@ -226,7 +226,6 @@ static int hx4700_audio_remove(struct platform_device *pdev) static struct platform_driver hx4700_audio_driver = { .driver = { .name = "hx4700-audio", - .owner = THIS_MODULE, .pm = &snd_soc_pm_ops, }, .probe = hx4700_audio_probe, diff --git a/sound/soc/pxa/imote2.c b/sound/soc/pxa/imote2.c index fd2f4eda1fd3..29fabbfd21f1 100644 --- a/sound/soc/pxa/imote2.c +++ b/sound/soc/pxa/imote2.c @@ -90,7 +90,6 @@ static int imote2_remove(struct platform_device *pdev) static struct platform_driver imote2_driver = { .driver = { .name = "imote2-audio", - .owner = THIS_MODULE, .pm = &snd_soc_pm_ops, }, .probe = imote2_probe, diff --git a/sound/soc/pxa/mioa701_wm9713.c b/sound/soc/pxa/mioa701_wm9713.c index 595eee341e90..396dbd51a64f 100644 --- a/sound/soc/pxa/mioa701_wm9713.c +++ b/sound/soc/pxa/mioa701_wm9713.c @@ -127,15 +127,12 @@ static const struct snd_soc_dapm_route audio_map[] = { static int mioa701_wm9713_init(struct snd_soc_pcm_runtime *rtd) { struct snd_soc_codec *codec = rtd->codec; - unsigned short reg; /* Prepare GPIO8 for rear speaker amplifier */ - reg = codec->driver->read(codec, AC97_GPIO_CFG); - codec->driver->write(codec, AC97_GPIO_CFG, reg | 0x0100); + snd_soc_update_bits(codec, AC97_GPIO_CFG, 0x100, 0x100); /* Prepare MIC input */ - reg = codec->driver->read(codec, AC97_3D_CONTROL); - codec->driver->write(codec, AC97_3D_CONTROL, reg | 0xc000); + snd_soc_update_bits(codec, AC97_3D_CONTROL, 0xc000, 0xc000); return 0; } @@ -205,7 +202,6 @@ static struct platform_driver mioa701_wm9713_driver = { .remove = mioa701_wm9713_remove, .driver = { .name = "mioa701-wm9713", - .owner = THIS_MODULE, .pm = &snd_soc_pm_ops, }, }; diff --git a/sound/soc/pxa/mmp-pcm.c b/sound/soc/pxa/mmp-pcm.c index 64e8b949a1a3..1eb45dcfb8e8 100644 --- a/sound/soc/pxa/mmp-pcm.c +++ b/sound/soc/pxa/mmp-pcm.c @@ -244,7 +244,6 @@ static int mmp_pcm_remove(struct platform_device *pdev) static struct platform_driver mmp_pcm_driver = { .driver = { .name = "mmp-pcm-audio", - .owner = THIS_MODULE, }, .probe = mmp_pcm_probe, diff --git a/sound/soc/pxa/mmp-sspa.c b/sound/soc/pxa/mmp-sspa.c index 5bf5f1f7cac5..eca60c29791a 100644 --- a/sound/soc/pxa/mmp-sspa.c +++ b/sound/soc/pxa/mmp-sspa.c @@ -472,7 +472,6 @@ static int asoc_mmp_sspa_remove(struct platform_device *pdev) static struct platform_driver asoc_mmp_sspa_driver = { .driver = { .name = "mmp-sspa-dai", - .owner = THIS_MODULE, }, .probe = asoc_mmp_sspa_probe, .remove = asoc_mmp_sspa_remove, diff --git a/sound/soc/pxa/palm27x.c b/sound/soc/pxa/palm27x.c index 17f9521ff6ea..1eebca2f0a97 100644 --- a/sound/soc/pxa/palm27x.c +++ b/sound/soc/pxa/palm27x.c @@ -172,7 +172,6 @@ static struct platform_driver palm27x_wm9712_driver = { .remove = palm27x_asoc_remove, .driver = { .name = "palm27x-asoc", - .owner = THIS_MODULE, .pm = &snd_soc_pm_ops, }, }; diff --git a/sound/soc/pxa/poodle.c b/sound/soc/pxa/poodle.c index 21f340065318..0fce8c420e96 100644 --- a/sound/soc/pxa/poodle.c +++ b/sound/soc/pxa/poodle.c @@ -296,7 +296,6 @@ static int poodle_remove(struct platform_device *pdev) static struct platform_driver poodle_driver = { .driver = { .name = "poodle-audio", - .owner = THIS_MODULE, .pm = &snd_soc_pm_ops, }, .probe = poodle_probe, diff --git a/sound/soc/pxa/pxa-ssp.c b/sound/soc/pxa/pxa-ssp.c index a8e097433074..fbe2e93d6edc 100644 --- a/sound/soc/pxa/pxa-ssp.c +++ b/sound/soc/pxa/pxa-ssp.c @@ -97,7 +97,7 @@ static int pxa_ssp_startup(struct snd_pcm_substream *substream, int ret = 0; if (!cpu_dai->active) { - clk_enable(ssp->clk); + clk_prepare_enable(ssp->clk); pxa_ssp_disable(ssp); } @@ -121,7 +121,7 @@ static void pxa_ssp_shutdown(struct snd_pcm_substream *substream, if (!cpu_dai->active) { pxa_ssp_disable(ssp); - clk_disable(ssp->clk); + clk_disable_unprepare(ssp->clk); } kfree(snd_soc_dai_get_dma_data(cpu_dai, substream)); @@ -136,7 +136,7 @@ static int pxa_ssp_suspend(struct snd_soc_dai *cpu_dai) struct ssp_device *ssp = priv->ssp; if (!cpu_dai->active) - clk_enable(ssp->clk); + clk_prepare_enable(ssp->clk); priv->cr0 = __raw_readl(ssp->mmio_base + SSCR0); priv->cr1 = __raw_readl(ssp->mmio_base + SSCR1); @@ -144,7 +144,7 @@ static int pxa_ssp_suspend(struct snd_soc_dai *cpu_dai) priv->psp = __raw_readl(ssp->mmio_base + SSPSP); pxa_ssp_disable(ssp); - clk_disable(ssp->clk); + clk_disable_unprepare(ssp->clk); return 0; } @@ -154,7 +154,7 @@ static int pxa_ssp_resume(struct snd_soc_dai *cpu_dai) struct ssp_device *ssp = priv->ssp; uint32_t sssr = SSSR_ROR | SSSR_TUR | SSSR_BCE; - clk_enable(ssp->clk); + clk_prepare_enable(ssp->clk); __raw_writel(sssr, ssp->mmio_base + SSSR); __raw_writel(priv->cr0 & ~SSCR0_SSE, ssp->mmio_base + SSCR0); @@ -165,7 +165,7 @@ static int pxa_ssp_resume(struct snd_soc_dai *cpu_dai) if (cpu_dai->active) pxa_ssp_enable(ssp); else - clk_disable(ssp->clk); + clk_disable_unprepare(ssp->clk); return 0; } @@ -256,11 +256,11 @@ static int pxa_ssp_set_dai_sysclk(struct snd_soc_dai *cpu_dai, /* The SSP clock must be disabled when changing SSP clock mode * on PXA2xx. On PXA3xx it must be enabled when doing so. */ if (ssp->type != PXA3xx_SSP) - clk_disable(ssp->clk); + clk_disable_unprepare(ssp->clk); val = pxa_ssp_read_reg(ssp, SSCR0) | sscr0; pxa_ssp_write_reg(ssp, SSCR0, val); if (ssp->type != PXA3xx_SSP) - clk_enable(ssp->clk); + clk_prepare_enable(ssp->clk); return 0; } @@ -826,7 +826,6 @@ static int asoc_ssp_remove(struct platform_device *pdev) static struct platform_driver asoc_ssp_driver = { .driver = { .name = "pxa-ssp-dai", - .owner = THIS_MODULE, .of_match_table = of_match_ptr(pxa_ssp_of_ids), }, diff --git a/sound/soc/pxa/pxa2xx-ac97.c b/sound/soc/pxa/pxa2xx-ac97.c index ae956e3f4b9d..1f6054650991 100644 --- a/sound/soc/pxa/pxa2xx-ac97.c +++ b/sound/soc/pxa/pxa2xx-ac97.c @@ -157,7 +157,7 @@ static const struct snd_soc_dai_ops pxa_ac97_mic_dai_ops = { static struct snd_soc_dai_driver pxa_ac97_dai_driver[] = { { .name = "pxa2xx-ac97", - .ac97_control = 1, + .bus_control = true, .playback = { .stream_name = "AC97 Playback", .channels_min = 2, @@ -174,7 +174,7 @@ static struct snd_soc_dai_driver pxa_ac97_dai_driver[] = { }, { .name = "pxa2xx-ac97-aux", - .ac97_control = 1, + .bus_control = true, .playback = { .stream_name = "AC97 Aux Playback", .channels_min = 1, @@ -191,7 +191,7 @@ static struct snd_soc_dai_driver pxa_ac97_dai_driver[] = { }, { .name = "pxa2xx-ac97-mic", - .ac97_control = 1, + .bus_control = true, .capture = { .stream_name = "AC97 Mic Capture", .channels_min = 1, @@ -261,7 +261,6 @@ static struct platform_driver pxa2xx_ac97_driver = { .remove = pxa2xx_ac97_dev_remove, .driver = { .name = "pxa2xx-ac97", - .owner = THIS_MODULE, #ifdef CONFIG_PM_SLEEP .pm = &pxa2xx_ac97_pm_ops, #endif diff --git a/sound/soc/pxa/pxa2xx-i2s.c b/sound/soc/pxa/pxa2xx-i2s.c index c0d648d3339f..e68290c15328 100644 --- a/sound/soc/pxa/pxa2xx-i2s.c +++ b/sound/soc/pxa/pxa2xx-i2s.c @@ -383,7 +383,6 @@ static struct platform_driver pxa2xx_i2s_driver = { .driver = { .name = "pxa2xx-i2s", - .owner = THIS_MODULE, }, }; diff --git a/sound/soc/pxa/pxa2xx-pcm.c b/sound/soc/pxa/pxa2xx-pcm.c index 42f2f0175981..a51c9da66614 100644 --- a/sound/soc/pxa/pxa2xx-pcm.c +++ b/sound/soc/pxa/pxa2xx-pcm.c @@ -143,7 +143,6 @@ static const struct of_device_id snd_soc_pxa_audio_match[] = { static struct platform_driver pxa_pcm_driver = { .driver = { .name = "pxa-pcm-audio", - .owner = THIS_MODULE, .of_match_table = of_match_ptr(snd_soc_pxa_audio_match), }, diff --git a/sound/soc/pxa/spitz.c b/sound/soc/pxa/spitz.c index 1373b017a951..d7d5fb20ea6f 100644 --- a/sound/soc/pxa/spitz.c +++ b/sound/soc/pxa/spitz.c @@ -305,19 +305,15 @@ static struct snd_soc_card snd_soc_spitz = { .num_dapm_routes = ARRAY_SIZE(spitz_audio_map), }; -static struct platform_device *spitz_snd_device; - -static int __init spitz_init(void) +static int spitz_probe(struct platform_device *pdev) { + struct snd_soc_card *card = &snd_soc_spitz; int ret; - if (!(machine_is_spitz() || machine_is_borzoi() || machine_is_akita())) - return -ENODEV; - - if (machine_is_borzoi() || machine_is_spitz()) - spitz_mic_gpio = SPITZ_GPIO_MIC_BIAS; - else + if (machine_is_akita()) spitz_mic_gpio = AKITA_GPIO_MIC_BIAS; + else + spitz_mic_gpio = SPITZ_GPIO_MIC_BIAS; ret = gpio_request(spitz_mic_gpio, "MIC GPIO"); if (ret) @@ -327,37 +323,45 @@ static int __init spitz_init(void) if (ret) goto err2; - spitz_snd_device = platform_device_alloc("soc-audio", -1); - if (!spitz_snd_device) { - ret = -ENOMEM; + card->dev = &pdev->dev; + + ret = snd_soc_register_card(card); + if (ret) { + dev_err(&pdev->dev, "snd_soc_register_card() failed: %d\n", + ret); goto err2; } - platform_set_drvdata(spitz_snd_device, &snd_soc_spitz); - - ret = platform_device_add(spitz_snd_device); - if (ret) - goto err3; - return 0; -err3: - platform_device_put(spitz_snd_device); err2: gpio_free(spitz_mic_gpio); err1: return ret; } -static void __exit spitz_exit(void) +static int spitz_remove(struct platform_device *pdev) { - platform_device_unregister(spitz_snd_device); + struct snd_soc_card *card = platform_get_drvdata(pdev); + + snd_soc_unregister_card(card); gpio_free(spitz_mic_gpio); + return 0; } -module_init(spitz_init); -module_exit(spitz_exit); +static struct platform_driver spitz_driver = { + .driver = { + .name = "spitz-audio", + .owner = THIS_MODULE, + .pm = &snd_soc_pm_ops, + }, + .probe = spitz_probe, + .remove = spitz_remove, +}; + +module_platform_driver(spitz_driver); MODULE_AUTHOR("Richard Purdie"); MODULE_DESCRIPTION("ALSA SoC Spitz"); MODULE_LICENSE("GPL"); +MODULE_ALIAS("platform:spitz-audio"); diff --git a/sound/soc/pxa/tosa.c b/sound/soc/pxa/tosa.c index 4a956d1cb269..cb49284e853a 100644 --- a/sound/soc/pxa/tosa.c +++ b/sound/soc/pxa/tosa.c @@ -265,7 +265,6 @@ static int tosa_remove(struct platform_device *pdev) static struct platform_driver tosa_driver = { .driver = { .name = "tosa-audio", - .owner = THIS_MODULE, .pm = &snd_soc_pm_ops, }, .probe = tosa_probe, diff --git a/sound/soc/pxa/ttc-dkb.c b/sound/soc/pxa/ttc-dkb.c index 9d7c5b7e9539..e3d7257ad09c 100644 --- a/sound/soc/pxa/ttc-dkb.c +++ b/sound/soc/pxa/ttc-dkb.c @@ -155,7 +155,6 @@ static int ttc_dkb_remove(struct platform_device *pdev) static struct platform_driver ttc_dkb_driver = { .driver = { .name = "ttc-dkb-audio", - .owner = THIS_MODULE, .pm = &snd_soc_pm_ops, }, .probe = ttc_dkb_probe, |