diff options
Diffstat (limited to 'sound/soc/sh')
-rw-r--r-- | sound/soc/sh/dma-sh7760.c | 5 | ||||
-rw-r--r-- | sound/soc/sh/fsi.c | 24 | ||||
-rw-r--r-- | sound/soc/sh/rcar/core.c | 22 | ||||
-rw-r--r-- | sound/soc/sh/siu.h | 2 | ||||
-rw-r--r-- | sound/soc/sh/siu_dai.c | 10 | ||||
-rw-r--r-- | sound/soc/sh/siu_pcm.c | 9 |
6 files changed, 20 insertions, 52 deletions
diff --git a/sound/soc/sh/dma-sh7760.c b/sound/soc/sh/dma-sh7760.c index 1e7d417b53ef..2dc3b762fdd9 100644 --- a/sound/soc/sh/dma-sh7760.c +++ b/sound/soc/sh/dma-sh7760.c @@ -320,14 +320,15 @@ static int camelot_pcm_new(struct snd_soc_pcm_runtime *rtd) return 0; } -static const struct snd_soc_platform_driver sh7760_soc_platform = { +static const struct snd_soc_component_driver sh7760_soc_component = { .ops = &camelot_pcm_ops, .pcm_new = camelot_pcm_new, }; static int sh7760_soc_platform_probe(struct platform_device *pdev) { - return devm_snd_soc_register_platform(&pdev->dev, &sh7760_soc_platform); + return devm_snd_soc_register_component(&pdev->dev, &sh7760_soc_component, + NULL, 0); } static struct platform_driver sh7760_pcm_driver = { diff --git a/sound/soc/sh/fsi.c b/sound/soc/sh/fsi.c index c3aaf4788557..3bae06dd121f 100644 --- a/sound/soc/sh/fsi.c +++ b/sound/soc/sh/fsi.c @@ -1764,7 +1764,7 @@ static const struct snd_pcm_ops fsi_pcm_ops = { }; /* - * snd_soc_platform + * snd_soc_component */ #define PREALLOC_BUFFER (32 * 1024) @@ -1818,13 +1818,10 @@ static struct snd_soc_dai_driver fsi_soc_dai[] = { }, }; -static const struct snd_soc_platform_driver fsi_soc_platform = { - .ops = &fsi_pcm_ops, - .pcm_new = fsi_pcm_new, -}; - static const struct snd_soc_component_driver fsi_soc_component = { .name = "fsi", + .ops = &fsi_pcm_ops, + .pcm_new = fsi_pcm_new, }; /* @@ -2007,23 +2004,15 @@ static int fsi_probe(struct platform_device *pdev) goto exit_fsib; } - ret = snd_soc_register_platform(&pdev->dev, &fsi_soc_platform); - if (ret < 0) { - dev_err(&pdev->dev, "cannot snd soc register\n"); - goto exit_fsib; - } - - ret = snd_soc_register_component(&pdev->dev, &fsi_soc_component, + ret = devm_snd_soc_register_component(&pdev->dev, &fsi_soc_component, fsi_soc_dai, ARRAY_SIZE(fsi_soc_dai)); if (ret < 0) { dev_err(&pdev->dev, "cannot snd component register\n"); - goto exit_snd_soc; + goto exit_fsib; } return ret; -exit_snd_soc: - snd_soc_unregister_platform(&pdev->dev); exit_fsib: pm_runtime_disable(&pdev->dev); fsi_stream_remove(&master->fsib); @@ -2041,9 +2030,6 @@ static int fsi_remove(struct platform_device *pdev) pm_runtime_disable(&pdev->dev); - snd_soc_unregister_component(&pdev->dev); - snd_soc_unregister_platform(&pdev->dev); - fsi_stream_remove(&master->fsia); fsi_stream_remove(&master->fsib); diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c index 64d5ecb86528..b4007669c704 100644 --- a/sound/soc/sh/rcar/core.c +++ b/sound/soc/sh/rcar/core.c @@ -1337,7 +1337,7 @@ int rsnd_kctrl_new(struct rsnd_mod *mod, } /* - * snd_soc_platform + * snd_soc_component */ #define PREALLOC_BUFFER (32 * 1024) @@ -1364,12 +1364,9 @@ static int rsnd_pcm_new(struct snd_soc_pcm_runtime *rtd) PREALLOC_BUFFER, PREALLOC_BUFFER_MAX); } -static const struct snd_soc_platform_driver rsnd_soc_platform = { +static const struct snd_soc_component_driver rsnd_soc_component = { .ops = &rsnd_pcm_ops, .pcm_new = rsnd_pcm_new, -}; - -static const struct snd_soc_component_driver rsnd_soc_component = { .name = "rsnd", }; @@ -1478,17 +1475,11 @@ static int rsnd_probe(struct platform_device *pdev) /* * asoc register */ - ret = snd_soc_register_platform(dev, &rsnd_soc_platform); - if (ret < 0) { - dev_err(dev, "cannot snd soc register\n"); - return ret; - } - - ret = snd_soc_register_component(dev, &rsnd_soc_component, + ret = devm_snd_soc_register_component(dev, &rsnd_soc_component, priv->daidrv, rsnd_rdai_nr(priv)); if (ret < 0) { dev_err(dev, "cannot snd dai register\n"); - goto exit_snd_soc; + goto exit_snd_probe; } pm_runtime_enable(dev); @@ -1496,8 +1487,6 @@ static int rsnd_probe(struct platform_device *pdev) dev_info(dev, "probed\n"); return ret; -exit_snd_soc: - snd_soc_unregister_platform(dev); exit_snd_probe: for_each_rsnd_dai(rdai, priv, i) { rsnd_dai_call(remove, &rdai->playback, priv); @@ -1535,9 +1524,6 @@ static int rsnd_remove(struct platform_device *pdev) for (i = 0; i < ARRAY_SIZE(remove_func); i++) remove_func[i](priv); - snd_soc_unregister_component(&pdev->dev); - snd_soc_unregister_platform(&pdev->dev); - return ret; } diff --git a/sound/soc/sh/siu.h b/sound/soc/sh/siu.h index 83c3430ad797..6088d627c0e4 100644 --- a/sound/soc/sh/siu.h +++ b/sound/soc/sh/siu.h @@ -183,7 +183,7 @@ static inline u32 siu_read32(u32 __iomem *addr) #define SIU_BRGBSEL (0x108 / sizeof(u32)) #define SIU_BRRB (0x10c / sizeof(u32)) -extern struct snd_soc_platform_driver siu_platform; +extern struct snd_soc_component_driver siu_component; extern struct siu_info *siu_i2s_data; int siu_init_port(int port, struct siu_port **port_info, struct snd_card *card); diff --git a/sound/soc/sh/siu_dai.c b/sound/soc/sh/siu_dai.c index 160502947da2..ee2211635e92 100644 --- a/sound/soc/sh/siu_dai.c +++ b/sound/soc/sh/siu_dai.c @@ -727,10 +727,6 @@ static struct snd_soc_dai_driver siu_i2s_dai = { .ops = &siu_dai_ops, }; -static const struct snd_soc_component_driver siu_i2s_component = { - .name = "siu-i2s", -}; - static int siu_probe(struct platform_device *pdev) { const struct firmware *fw_entry; @@ -786,15 +782,11 @@ static int siu_probe(struct platform_device *pdev) dev_set_drvdata(&pdev->dev, info); /* register using ARRAY version so we can keep dai name */ - ret = devm_snd_soc_register_component(&pdev->dev, &siu_i2s_component, + ret = devm_snd_soc_register_component(&pdev->dev, &siu_component, &siu_i2s_dai, 1); if (ret < 0) return ret; - ret = devm_snd_soc_register_platform(&pdev->dev, &siu_platform); - if (ret < 0) - return ret; - pm_runtime_enable(&pdev->dev); return 0; diff --git a/sound/soc/sh/siu_pcm.c b/sound/soc/sh/siu_pcm.c index 3118cb0ee3f2..172909570ed5 100644 --- a/sound/soc/sh/siu_pcm.c +++ b/sound/soc/sh/siu_pcm.c @@ -35,6 +35,7 @@ #include "siu.h" +#define DRV_NAME "siu-i2s" #define GET_MAX_PERIODS(buf_bytes, period_bytes) \ ((buf_bytes) / (period_bytes)) #define PERIOD_OFFSET(buf_addr, period_num, period_bytes) \ @@ -340,7 +341,8 @@ static int siu_pcm_open(struct snd_pcm_substream *ss) { /* Playback / Capture */ struct snd_soc_pcm_runtime *rtd = ss->private_data; - struct siu_platform *pdata = rtd->platform->dev->platform_data; + struct snd_soc_component *component = snd_soc_rtdcom_lookup(rtd, DRV_NAME); + struct siu_platform *pdata = component->dev->platform_data; struct siu_info *info = siu_i2s_data; struct siu_port *port_info = siu_port_info(ss); struct siu_stream *siu_stream; @@ -604,9 +606,10 @@ static const struct snd_pcm_ops siu_pcm_ops = { .pointer = siu_pcm_pointer_dma, }; -struct snd_soc_platform_driver siu_platform = { +struct snd_soc_component_driver siu_component = { + .name = DRV_NAME, .ops = &siu_pcm_ops, .pcm_new = siu_pcm_new, .pcm_free = siu_pcm_free, }; -EXPORT_SYMBOL_GPL(siu_platform); +EXPORT_SYMBOL_GPL(siu_component); |