Commit 200ceb96 authored by Barry Song's avatar Barry Song Committed by Mark Brown

ASoC: dfbmcs320: make the driver common for other BT modules

DFBM-CS320 is only one of bluetooth modules using CSR bluetooth chips,
we don't want everyone to have a seperate codec driver. anyway, the
feature of Bluetooth SCO is same on all platforms, so this patch
makes the DFBM-CS320 driver become a common BT SCO link driver.
Signed-off-by: default avatarBarry Song <Baohua.Song@csr.com>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent c7788792
...@@ -40,7 +40,7 @@ config SND_SOC_ALL_CODECS ...@@ -40,7 +40,7 @@ config SND_SOC_ALL_CODECS
select SND_SOC_DA7213 if I2C select SND_SOC_DA7213 if I2C
select SND_SOC_DA732X if I2C select SND_SOC_DA732X if I2C
select SND_SOC_DA9055 if I2C select SND_SOC_DA9055 if I2C
select SND_SOC_DFBMCS320 select SND_SOC_BT_SCO
select SND_SOC_ISABELLE if I2C select SND_SOC_ISABELLE if I2C
select SND_SOC_JZ4740_CODEC select SND_SOC_JZ4740_CODEC
select SND_SOC_LM4857 if I2C select SND_SOC_LM4857 if I2C
...@@ -263,7 +263,7 @@ config SND_SOC_DA732X ...@@ -263,7 +263,7 @@ config SND_SOC_DA732X
config SND_SOC_DA9055 config SND_SOC_DA9055
tristate tristate
config SND_SOC_DFBMCS320 config SND_SOC_BT_SCO
tristate tristate
config SND_SOC_DMIC config SND_SOC_DMIC
......
...@@ -27,7 +27,7 @@ snd-soc-da7210-objs := da7210.o ...@@ -27,7 +27,7 @@ snd-soc-da7210-objs := da7210.o
snd-soc-da7213-objs := da7213.o snd-soc-da7213-objs := da7213.o
snd-soc-da732x-objs := da732x.o snd-soc-da732x-objs := da732x.o
snd-soc-da9055-objs := da9055.o snd-soc-da9055-objs := da9055.o
snd-soc-dfbmcs320-objs := dfbmcs320.o snd-soc-bt-sco-objs := bt-sco.o
snd-soc-dmic-objs := dmic.o snd-soc-dmic-objs := dmic.o
snd-soc-isabelle-objs := isabelle.o snd-soc-isabelle-objs := isabelle.o
snd-soc-jz4740-codec-objs := jz4740.o snd-soc-jz4740-codec-objs := jz4740.o
...@@ -154,7 +154,7 @@ obj-$(CONFIG_SND_SOC_DA7210) += snd-soc-da7210.o ...@@ -154,7 +154,7 @@ obj-$(CONFIG_SND_SOC_DA7210) += snd-soc-da7210.o
obj-$(CONFIG_SND_SOC_DA7213) += snd-soc-da7213.o obj-$(CONFIG_SND_SOC_DA7213) += snd-soc-da7213.o
obj-$(CONFIG_SND_SOC_DA732X) += snd-soc-da732x.o obj-$(CONFIG_SND_SOC_DA732X) += snd-soc-da732x.o
obj-$(CONFIG_SND_SOC_DA9055) += snd-soc-da9055.o obj-$(CONFIG_SND_SOC_DA9055) += snd-soc-da9055.o
obj-$(CONFIG_SND_SOC_DFBMCS320) += snd-soc-dfbmcs320.o obj-$(CONFIG_SND_SOC_BT_SCO) += snd-soc-bt-sco.o
obj-$(CONFIG_SND_SOC_DMIC) += snd-soc-dmic.o obj-$(CONFIG_SND_SOC_DMIC) += snd-soc-dmic.o
obj-$(CONFIG_SND_SOC_ISABELLE) += snd-soc-isabelle.o obj-$(CONFIG_SND_SOC_ISABELLE) += snd-soc-isabelle.o
obj-$(CONFIG_SND_SOC_JZ4740_CODEC) += snd-soc-jz4740-codec.o obj-$(CONFIG_SND_SOC_JZ4740_CODEC) += snd-soc-jz4740-codec.o
......
/* /*
* Driver for the DFBM-CS320 bluetooth module * Driver for generic Bluetooth SCO link
* Copyright 2011 Lars-Peter Clausen <lars@metafoo.de> * Copyright 2011 Lars-Peter Clausen <lars@metafoo.de>
* *
* This program is free software; you can redistribute it and/or modify it * This program is free software; you can redistribute it and/or modify it
...@@ -15,8 +15,8 @@ ...@@ -15,8 +15,8 @@
#include <sound/soc.h> #include <sound/soc.h>
static struct snd_soc_dai_driver dfbmcs320_dai = { static struct snd_soc_dai_driver bt_sco_dai = {
.name = "dfbmcs320-pcm", .name = "bt-sco-pcm",
.playback = { .playback = {
.channels_min = 1, .channels_min = 1,
.channels_max = 1, .channels_max = 1,
...@@ -31,32 +31,41 @@ static struct snd_soc_dai_driver dfbmcs320_dai = { ...@@ -31,32 +31,41 @@ static struct snd_soc_dai_driver dfbmcs320_dai = {
}, },
}; };
static struct snd_soc_codec_driver soc_codec_dev_dfbmcs320; static struct snd_soc_codec_driver soc_codec_dev_bt_sco;
static int dfbmcs320_probe(struct platform_device *pdev) static int bt_sco_probe(struct platform_device *pdev)
{ {
return snd_soc_register_codec(&pdev->dev, &soc_codec_dev_dfbmcs320, return snd_soc_register_codec(&pdev->dev, &soc_codec_dev_bt_sco,
&dfbmcs320_dai, 1); &bt_sco_dai, 1);
} }
static int dfbmcs320_remove(struct platform_device *pdev) static int bt_sco_remove(struct platform_device *pdev)
{ {
snd_soc_unregister_codec(&pdev->dev); snd_soc_unregister_codec(&pdev->dev);
return 0; return 0;
} }
static struct platform_driver dfmcs320_driver = { static struct platform_device_id bt_sco_driver_ids[] = {
.driver = { {
.name = "dfbmcs320", .name = "dfbmcs320",
},
{},
};
MODULE_DEVICE_TABLE(platform, bt_sco_driver_ids);
static struct platform_driver bt_sco_driver = {
.driver = {
.name = "bt-sco",
.owner = THIS_MODULE, .owner = THIS_MODULE,
}, },
.probe = dfbmcs320_probe, .probe = bt_sco_probe,
.remove = dfbmcs320_remove, .remove = bt_sco_remove,
.id_table = bt_sco_driver_ids,
}; };
module_platform_driver(dfmcs320_driver); module_platform_driver(bt_sco_driver);
MODULE_AUTHOR("Lars-Peter Clausen <lars@metafoo.de>"); MODULE_AUTHOR("Lars-Peter Clausen <lars@metafoo.de>");
MODULE_DESCRIPTION("ASoC DFBM-CS320 bluethooth module driver"); MODULE_DESCRIPTION("ASoC generic bluethooth sco link driver");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
...@@ -39,7 +39,7 @@ config SND_SOC_SAMSUNG_NEO1973_WM8753 ...@@ -39,7 +39,7 @@ config SND_SOC_SAMSUNG_NEO1973_WM8753
depends on SND_SOC_SAMSUNG && MACH_NEO1973_GTA02 depends on SND_SOC_SAMSUNG && MACH_NEO1973_GTA02
select SND_S3C24XX_I2S select SND_S3C24XX_I2S
select SND_SOC_WM8753 select SND_SOC_WM8753
select SND_SOC_DFBMCS320 select SND_SOC_SCO
help help
Say Y here to enable audio support for the Openmoko Neo1973 Say Y here to enable audio support for the Openmoko Neo1973
Smartphones. Smartphones.
......
...@@ -373,7 +373,7 @@ static struct snd_soc_dai_link neo1973_dai[] = { ...@@ -373,7 +373,7 @@ static struct snd_soc_dai_link neo1973_dai[] = {
{ /* Voice via BT */ { /* Voice via BT */
.name = "Bluetooth", .name = "Bluetooth",
.stream_name = "Voice", .stream_name = "Voice",
.cpu_dai_name = "dfbmcs320-pcm", .cpu_dai_name = "bt-sco-pcm",
.codec_dai_name = "wm8753-voice", .codec_dai_name = "wm8753-voice",
.codec_name = "wm8753.0-001a", .codec_name = "wm8753.0-001a",
.ops = &neo1973_voice_ops, .ops = &neo1973_voice_ops,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment