public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
* [PATCH v2] ASoC: dfbmcs320: make the driver common for other BT modules
@ 2013-05-17  2:19 Barry Song
  2013-05-17 11:15 ` Mark Brown
  0 siblings, 1 reply; 6+ messages in thread
From: Barry Song @ 2013-05-17  2:19 UTC (permalink / raw)
  To: linux-arm-kernel

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 handsfree is same on all platforms, so this patch
makes the DFBM-CS320 driver become a common BT handsfree driver.

Cc: Graeme Gregory <graeme@openmoko.org>
Cc: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Barry Song <Baohua.Song@csr.com>
---
 -v2: keep the device id list

 sound/soc/codecs/Kconfig                         |  4 +--
 sound/soc/codecs/Makefile                        |  4 +--
 sound/soc/codecs/{dfbmcs320.c => bt-handsfree.c} | 37 +++++++++++++++---------
 sound/soc/samsung/neo1973_wm8753.c               |  2 +-
 4 files changed, 28 insertions(+), 19 deletions(-)
 rename sound/soc/codecs/{dfbmcs320.c => bt-handsfree.c} (51%)

diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
index d8c4f3d..618928a 100644
--- a/sound/soc/codecs/Kconfig
+++ b/sound/soc/codecs/Kconfig
@@ -40,7 +40,7 @@ config SND_SOC_ALL_CODECS
 	select SND_SOC_DA7213 if I2C
 	select SND_SOC_DA732X if I2C
 	select SND_SOC_DA9055 if I2C
-	select SND_SOC_DFBMCS320
+	select SND_SOC_BT_HANDSFREE
 	select SND_SOC_ISABELLE if I2C
 	select SND_SOC_JZ4740_CODEC
 	select SND_SOC_LM4857 if I2C
@@ -263,7 +263,7 @@ config SND_SOC_DA732X
 config SND_SOC_DA9055
 	tristate
 
-config SND_SOC_DFBMCS320
+config SND_SOC_BT_HANDSFREE
 	tristate
 
 config SND_SOC_DMIC
diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile
index 49ff127..23a8c06 100644
--- a/sound/soc/codecs/Makefile
+++ b/sound/soc/codecs/Makefile
@@ -27,7 +27,7 @@ snd-soc-da7210-objs := da7210.o
 snd-soc-da7213-objs := da7213.o
 snd-soc-da732x-objs := da732x.o
 snd-soc-da9055-objs := da9055.o
-snd-soc-dfbmcs320-objs := dfbmcs320.o
+snd-soc-bt-handsfree-objs := bt-handsfree.o
 snd-soc-dmic-objs := dmic.o
 snd-soc-isabelle-objs := isabelle.o
 snd-soc-jz4740-codec-objs := jz4740.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_DA732X)	+= snd-soc-da732x.o
 obj-$(CONFIG_SND_SOC_DA9055)	+= snd-soc-da9055.o
-obj-$(CONFIG_SND_SOC_DFBMCS320)	+= snd-soc-dfbmcs320.o
+obj-$(CONFIG_SND_SOC_BT_HANDSFREE)	+= snd-soc-bt-handsfree.o
 obj-$(CONFIG_SND_SOC_DMIC)	+= snd-soc-dmic.o
 obj-$(CONFIG_SND_SOC_ISABELLE)	+= snd-soc-isabelle.o
 obj-$(CONFIG_SND_SOC_JZ4740_CODEC)	+= snd-soc-jz4740-codec.o
diff --git a/sound/soc/codecs/dfbmcs320.c b/sound/soc/codecs/bt-handsfree.c
similarity index 51%
rename from sound/soc/codecs/dfbmcs320.c
rename to sound/soc/codecs/bt-handsfree.c
index 4f4f7f4..7ec784a 100644
--- a/sound/soc/codecs/dfbmcs320.c
+++ b/sound/soc/codecs/bt-handsfree.c
@@ -1,5 +1,5 @@
 /*
- * Driver for the DFBM-CS320 bluetooth module
+ * Driver for generic Bluetooth Handsfree
  * Copyright 2011 Lars-Peter Clausen <lars@metafoo.de>
  *
  *  This program is free software; you can redistribute  it and/or modify it
@@ -15,8 +15,8 @@
 
 #include <sound/soc.h>
 
-static struct snd_soc_dai_driver dfbmcs320_dai = {
-	.name = "dfbmcs320-pcm",
+static struct snd_soc_dai_driver bt_handsfree_dai = {
+	.name = "bt-handsfree-pcm",
 	.playback = {
 		.channels_min = 1,
 		.channels_max = 1,
@@ -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_handsfree;
 
-static int dfbmcs320_probe(struct platform_device *pdev)
+static int bt_handsfree_probe(struct platform_device *pdev)
 {
-	return snd_soc_register_codec(&pdev->dev, &soc_codec_dev_dfbmcs320,
-			&dfbmcs320_dai, 1);
+	return snd_soc_register_codec(&pdev->dev, &soc_codec_dev_bt_handsfree,
+			&bt_handsfree_dai, 1);
 }
 
-static int dfbmcs320_remove(struct platform_device *pdev)
+static int bt_handsfree_remove(struct platform_device *pdev)
 {
 	snd_soc_unregister_codec(&pdev->dev);
 
 	return 0;
 }
 
-static struct platform_driver dfmcs320_driver = {
+static struct platform_device_id bt_handsfree_driver_ids[] = {
+	{
+		.name		= "dfbmcs320",
+	},
+	{},
+};
+MODULE_DEVICE_TABLE(platform, bt_handsfree_driver_ids);
+
+static struct platform_driver bt_handsfree_driver = {
 	.driver = {
-		.name = "dfbmcs320",
+		.name = "bt-handsfree",
 		.owner = THIS_MODULE,
 	},
-	.probe = dfbmcs320_probe,
-	.remove = dfbmcs320_remove,
+	.probe = bt_handsfree_probe,
+	.remove = bt_handsfree_remove,
+	.id_table = bt_handsfree_driver_ids,
 };
 
-module_platform_driver(dfmcs320_driver);
+module_platform_driver(bt_handsfree_driver);
 
 MODULE_AUTHOR("Lars-Peter Clausen <lars@metafoo.de>");
-MODULE_DESCRIPTION("ASoC DFBM-CS320 bluethooth module driver");
+MODULE_DESCRIPTION("ASoC generic bluethooth handsfree driver");
 MODULE_LICENSE("GPL");
diff --git a/sound/soc/samsung/neo1973_wm8753.c b/sound/soc/samsung/neo1973_wm8753.c
index e591c38..3aefea4 100644
--- a/sound/soc/samsung/neo1973_wm8753.c
+++ b/sound/soc/samsung/neo1973_wm8753.c
@@ -373,7 +373,7 @@ static struct snd_soc_dai_link neo1973_dai[] = {
 { /* Voice via BT */
 	.name = "Bluetooth",
 	.stream_name = "Voice",
-	.cpu_dai_name = "dfbmcs320-pcm",
+	.cpu_dai_name = "bt-handsfree-pcm",
 	.codec_dai_name = "wm8753-voice",
 	.codec_name = "wm8753.0-001a",
 	.ops = &neo1973_voice_ops,
-- 
1.8.2.3



Member of the CSR plc group of companies. CSR plc registered in England and Wales, registered number 4187346, registered office Churchill House, Cambridge Business Park, Cowley Road, Cambridge, CB4 0WZ, United Kingdom
More information can be found at www.csr.com. Follow CSR on Twitter at http://twitter.com/CSR_PLC and read our blog at www.csr.com/blog

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v2] ASoC: dfbmcs320: make the driver common for other BT modules
  2013-05-17  2:19 [PATCH v2] ASoC: dfbmcs320: make the driver common for other BT modules Barry Song
@ 2013-05-17 11:15 ` Mark Brown
  2013-05-18 11:03   ` [alsa-devel] " Barry Song
  0 siblings, 1 reply; 6+ messages in thread
From: Mark Brown @ 2013-05-17 11:15 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, May 17, 2013 at 10:19:37AM +0800, Barry Song wrote:
> 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 handsfree is same on all platforms, so this patch
> makes the DFBM-CS320 driver become a common BT handsfree driver.

Sorry, should have thought of this before but why are we calling this
"handsfree"?  It's just a generic bluetooth link as far as the host
system is concerned, "bt-sco" might be more appropriate?

Otherwise this looks OK for ASoC though I'd expect to see a change to
registration of the OpenMoko BT device (perhaps I missed it though).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130517/09653d70/attachment.sig>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [alsa-devel] [PATCH v2] ASoC: dfbmcs320: make the driver common for other BT modules
  2013-05-17 11:15 ` Mark Brown
@ 2013-05-18 11:03   ` Barry Song
  2013-05-18 11:25     ` Mark Brown
  0 siblings, 1 reply; 6+ messages in thread
From: Barry Song @ 2013-05-18 11:03 UTC (permalink / raw)
  To: linux-arm-kernel

2013/5/17 Mark Brown <broonie@kernel.org>:
> On Fri, May 17, 2013 at 10:19:37AM +0800, Barry Song wrote:
>> 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 handsfree is same on all platforms, so this patch
>> makes the DFBM-CS320 driver become a common BT handsfree driver.
>
> Sorry, should have thought of this before but why are we calling this
> "handsfree"?  It's just a generic bluetooth link as far as the host
> system is concerned, "bt-sco" might be more appropriate?

agree. BT SCO should be more suitable.

>
> Otherwise this looks OK for ASoC though I'd expect to see a change to
> registration of the OpenMoko BT device (perhaps I missed it though).

sorry. i don't understand. i would think OpenMOKO can also use this driver?

-barry

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [alsa-devel] [PATCH v2] ASoC: dfbmcs320: make the driver common for other BT modules
  2013-05-18 11:03   ` [alsa-devel] " Barry Song
@ 2013-05-18 11:25     ` Mark Brown
  2013-05-18 11:32       ` Lars-Peter Clausen
  0 siblings, 1 reply; 6+ messages in thread
From: Mark Brown @ 2013-05-18 11:25 UTC (permalink / raw)
  To: linux-arm-kernel

On Sat, May 18, 2013 at 07:03:24PM +0800, Barry Song wrote:
> 2013/5/17 Mark Brown <broonie@kernel.org>:

> > Otherwise this looks OK for ASoC though I'd expect to see a change to
> > registration of the OpenMoko BT device (perhaps I missed it though).

> sorry. i don't understand. i would think OpenMOKO can also use this driver?

If you change the names the driver uses to bind you need to also update
the users so that they use the new name.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130518/d3ff59fa/attachment.sig>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [alsa-devel] [PATCH v2] ASoC: dfbmcs320: make the driver common for other BT modules
  2013-05-18 11:25     ` Mark Brown
@ 2013-05-18 11:32       ` Lars-Peter Clausen
  2013-05-18 11:34         ` Barry Song
  0 siblings, 1 reply; 6+ messages in thread
From: Lars-Peter Clausen @ 2013-05-18 11:32 UTC (permalink / raw)
  To: linux-arm-kernel

On 05/18/2013 01:25 PM, Mark Brown wrote:
> On Sat, May 18, 2013 at 07:03:24PM +0800, Barry Song wrote:
>> 2013/5/17 Mark Brown <broonie@kernel.org>:
> 
>>> Otherwise this looks OK for ASoC though I'd expect to see a change to
>>> registration of the OpenMoko BT device (perhaps I missed it though).
> 
>> sorry. i don't understand. i would think OpenMOKO can also use this driver?
> 
> If you change the names the driver uses to bind you need to also update
> the users so that they use the new name.
> 

Since there's the platform_device_id table now this should not be necessary.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [alsa-devel] [PATCH v2] ASoC: dfbmcs320: make the driver common for other BT modules
  2013-05-18 11:32       ` Lars-Peter Clausen
@ 2013-05-18 11:34         ` Barry Song
  0 siblings, 0 replies; 6+ messages in thread
From: Barry Song @ 2013-05-18 11:34 UTC (permalink / raw)
  To: linux-arm-kernel

2013/5/18 Lars-Peter Clausen <lars@metafoo.de>:
> On 05/18/2013 01:25 PM, Mark Brown wrote:
>> On Sat, May 18, 2013 at 07:03:24PM +0800, Barry Song wrote:
>>> 2013/5/17 Mark Brown <broonie@kernel.org>:
>>
>>>> Otherwise this looks OK for ASoC though I'd expect to see a change to
>>>> registration of the OpenMoko BT device (perhaps I missed it though).
>>
>>> sorry. i don't understand. i would think OpenMOKO can also use this driver?
>>
>> If you change the names the driver uses to bind you need to also update
>> the users so that they use the new name.
>>
>
> Since there's the platform_device_id table now this should not be necessary.

i guess Mark meaned i missed to change "select SND_SOC_DFBMCS320"?

config SND_SOC_SAMSUNG_NEO1973_WM8753
        tristate "Audio support for Openmoko Neo1973 Smartphones (GTA02)"
        depends on SND_SOC_SAMSUNG && MACH_NEO1973_GTA02
        select SND_S3C24XX_I2S
        select SND_SOC_WM8753
        select SND_SOC_DFBMCS320
        help
          Say Y here to enable audio support for the Openmoko Neo1973
          Smartphones.

-barry

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2013-05-18 11:34 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-17  2:19 [PATCH v2] ASoC: dfbmcs320: make the driver common for other BT modules Barry Song
2013-05-17 11:15 ` Mark Brown
2013-05-18 11:03   ` [alsa-devel] " Barry Song
2013-05-18 11:25     ` Mark Brown
2013-05-18 11:32       ` Lars-Peter Clausen
2013-05-18 11:34         ` Barry Song

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox