LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [PATCH v2 1/3] ASoC: codecs: wm8904: add dt ids table
@ 2014-12-15 3:31 Bo Shen
2014-12-15 3:31 ` [PATCH v2 2/3] ARM: at91: sama5d3xek/dt: use dt ids for wm8904 Bo Shen
` (3 more replies)
0 siblings, 4 replies; 10+ messages in thread
From: Bo Shen @ 2014-12-15 3:31 UTC (permalink / raw)
To: nicolas.ferre, Mark Brown
Cc: linux-arm-kernel, linux-kernel, devicetree, alsa-devel,
linux-sound, Alexander Morozov, Bo Shen
From: Alexander Morozov <linux@meltdown.ru>
Signed-off-by: Alexander Morozov <linux@meltdown.ru>
[Add driver data to distinguish device type]
Signed-off-by: Bo Shen <voice.shen@atmel.com>
---
Changes in v2:
- Add driver data for distinguish the device capability.
sound/soc/codecs/wm8904.c | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/sound/soc/codecs/wm8904.c b/sound/soc/codecs/wm8904.c
index 4d2d2b1..6e3f175 100644
--- a/sound/soc/codecs/wm8904.c
+++ b/sound/soc/codecs/wm8904.c
@@ -2255,10 +2255,32 @@ static const struct i2c_device_id wm8904_i2c_id[] = {
};
MODULE_DEVICE_TABLE(i2c, wm8904_i2c_id);
+#ifdef CONFIG_OF
+static enum wm8904_type wm8904_data = WM8904;
+static enum wm8904_type wm8912_data = WM8912;
+
+static const struct of_device_id wm8904_of_match[] = {
+ {
+ .compatible = "wlf,wm8904",
+ .data = &wm8904_data,
+ }, {
+ .compatible = "wlf,wm8912",
+ .data = &wm8912_data,
+ }, {
+ .compatible = "wlf,wm8918",
+ .data = &wm8904_data,
+ }, {
+ /* sentinel */
+ }
+};
+MODULE_DEVICE_TABLE(of, wm8904_of_match);
+#endif
+
static struct i2c_driver wm8904_i2c_driver = {
.driver = {
.name = "wm8904",
.owner = THIS_MODULE,
+ .of_match_table = of_match_ptr(wm8904_of_match),
},
.probe = wm8904_i2c_probe,
.remove = wm8904_i2c_remove,
--
2.1.0.24.g4109c28
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 2/3] ARM: at91: sama5d3xek/dt: use dt ids for wm8904
2014-12-15 3:31 [PATCH v2 1/3] ASoC: codecs: wm8904: add dt ids table Bo Shen
@ 2014-12-15 3:31 ` Bo Shen
2014-12-15 3:31 ` [PATCH v2 3/3] ARM: at91: at91sam9n12ek/dt: " Bo Shen
` (2 subsequent siblings)
3 siblings, 0 replies; 10+ messages in thread
From: Bo Shen @ 2014-12-15 3:31 UTC (permalink / raw)
To: nicolas.ferre, Mark Brown
Cc: linux-arm-kernel, linux-kernel, devicetree, alsa-devel,
linux-sound, Alexander Morozov, Bo Shen
From: Alexander Morozov <linux@meltdown.ru>
Using the wm8904 device tree compatible string.
Signed-off-by: Alexander Morozov <linux@meltdown.ru>
Signed-off-by: Bo Shen <voice.shen@atmel.com>
---
Changes in v2: None
arch/arm/boot/dts/sama5d3xmb.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/sama5d3xmb.dtsi b/arch/arm/boot/dts/sama5d3xmb.dtsi
index 49c10d3..2a1aa58 100644
--- a/arch/arm/boot/dts/sama5d3xmb.dtsi
+++ b/arch/arm/boot/dts/sama5d3xmb.dtsi
@@ -45,7 +45,7 @@
*/
i2c0: i2c@f0014000 {
wm8904: wm8904@1a {
- compatible = "wm8904";
+ compatible = "wlf,wm8904";
reg = <0x1a>;
clocks = <&pck0>;
clock-names = "mclk";
--
2.1.0.24.g4109c28
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 3/3] ARM: at91: at91sam9n12ek/dt: use dt ids for wm8904
2014-12-15 3:31 [PATCH v2 1/3] ASoC: codecs: wm8904: add dt ids table Bo Shen
2014-12-15 3:31 ` [PATCH v2 2/3] ARM: at91: sama5d3xek/dt: use dt ids for wm8904 Bo Shen
@ 2014-12-15 3:31 ` Bo Shen
2015-01-13 15:20 ` [PATCH v2 1/3] ASoC: codecs: wm8904: add dt ids table Nicolas Ferre
2015-01-15 11:54 ` Mark Brown
3 siblings, 0 replies; 10+ messages in thread
From: Bo Shen @ 2014-12-15 3:31 UTC (permalink / raw)
To: nicolas.ferre, Mark Brown
Cc: linux-arm-kernel, linux-kernel, devicetree, alsa-devel,
linux-sound, Bo Shen
Using the device tree ids for wm8904 codec.
Signed-off-by: Bo Shen <voice.shen@atmel.com>
---
Changes in v2: None
arch/arm/boot/dts/at91sam9n12ek.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/at91sam9n12ek.dts b/arch/arm/boot/dts/at91sam9n12ek.dts
index 13bb24e..9575c0d 100644
--- a/arch/arm/boot/dts/at91sam9n12ek.dts
+++ b/arch/arm/boot/dts/at91sam9n12ek.dts
@@ -54,7 +54,7 @@
status = "okay";
wm8904: codec@1a {
- compatible = "wm8904";
+ compatible = "wlf,wm8904";
reg = <0x1a>;
clocks = <&pck0>;
clock-names = "mclk";
--
2.1.0.24.g4109c28
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 1/3] ASoC: codecs: wm8904: add dt ids table
2014-12-15 3:31 [PATCH v2 1/3] ASoC: codecs: wm8904: add dt ids table Bo Shen
2014-12-15 3:31 ` [PATCH v2 2/3] ARM: at91: sama5d3xek/dt: use dt ids for wm8904 Bo Shen
2014-12-15 3:31 ` [PATCH v2 3/3] ARM: at91: at91sam9n12ek/dt: " Bo Shen
@ 2015-01-13 15:20 ` Nicolas Ferre
2015-01-15 11:54 ` Mark Brown
3 siblings, 0 replies; 10+ messages in thread
From: Nicolas Ferre @ 2015-01-13 15:20 UTC (permalink / raw)
To: Mark Brown
Cc: Bo Shen, linux-arm-kernel, linux-kernel, devicetree, alsa-devel,
linux-sound, Alexander Morozov
Le 15/12/2014 04:31, Bo Shen a écrit :
> From: Alexander Morozov <linux@meltdown.ru>
>
> Signed-off-by: Alexander Morozov <linux@meltdown.ru>
> [Add driver data to distinguish device type]
> Signed-off-by: Bo Shen <voice.shen@atmel.com>
> ---
>
> Changes in v2:
> - Add driver data for distinguish the device capability.
>
> sound/soc/codecs/wm8904.c | 22 ++++++++++++++++++++++
Mark,
Do you want us to re-send this patch or can you take it?
On my side, I'm planning to take the 2 last ones of this series: is it
okay for you?
Thanks, bye.
> 1 file changed, 22 insertions(+)
>
> diff --git a/sound/soc/codecs/wm8904.c b/sound/soc/codecs/wm8904.c
> index 4d2d2b1..6e3f175 100644
> --- a/sound/soc/codecs/wm8904.c
> +++ b/sound/soc/codecs/wm8904.c
> @@ -2255,10 +2255,32 @@ static const struct i2c_device_id wm8904_i2c_id[] = {
> };
> MODULE_DEVICE_TABLE(i2c, wm8904_i2c_id);
>
> +#ifdef CONFIG_OF
> +static enum wm8904_type wm8904_data = WM8904;
> +static enum wm8904_type wm8912_data = WM8912;
> +
> +static const struct of_device_id wm8904_of_match[] = {
> + {
> + .compatible = "wlf,wm8904",
> + .data = &wm8904_data,
> + }, {
> + .compatible = "wlf,wm8912",
> + .data = &wm8912_data,
> + }, {
> + .compatible = "wlf,wm8918",
> + .data = &wm8904_data,
> + }, {
> + /* sentinel */
> + }
> +};
> +MODULE_DEVICE_TABLE(of, wm8904_of_match);
> +#endif
> +
> static struct i2c_driver wm8904_i2c_driver = {
> .driver = {
> .name = "wm8904",
> .owner = THIS_MODULE,
> + .of_match_table = of_match_ptr(wm8904_of_match),
> },
> .probe = wm8904_i2c_probe,
> .remove = wm8904_i2c_remove,
>
--
Nicolas Ferre
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 1/3] ASoC: codecs: wm8904: add dt ids table
2014-12-15 3:31 [PATCH v2 1/3] ASoC: codecs: wm8904: add dt ids table Bo Shen
` (2 preceding siblings ...)
2015-01-13 15:20 ` [PATCH v2 1/3] ASoC: codecs: wm8904: add dt ids table Nicolas Ferre
@ 2015-01-15 11:54 ` Mark Brown
2015-01-16 1:17 ` Bo Shen
3 siblings, 1 reply; 10+ messages in thread
From: Mark Brown @ 2015-01-15 11:54 UTC (permalink / raw)
To: Bo Shen
Cc: nicolas.ferre, linux-arm-kernel, linux-kernel, devicetree,
alsa-devel, linux-sound, Alexander Morozov
[-- Attachment #1: Type: text/plain, Size: 506 bytes --]
On Mon, Dec 15, 2014 at 11:31:11AM +0800, Bo Shen wrote:
> +#ifdef CONFIG_OF
> +static enum wm8904_type wm8904_data = WM8904;
> +static enum wm8904_type wm8912_data = WM8912;
> +
> +static const struct of_device_id wm8904_of_match[] = {
> + {
> + .compatible = "wlf,wm8904",
> + .data = &wm8904_data,
Does this end up in the i2c_driver_id driver data or do we need some
extra code when devtype is assigned to check for an of_node and look at
the DT data instead? That certainly used to be the case...
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 1/3] ASoC: codecs: wm8904: add dt ids table
2015-01-15 11:54 ` Mark Brown
@ 2015-01-16 1:17 ` Bo Shen
2015-01-26 15:24 ` Nicolas Ferre
0 siblings, 1 reply; 10+ messages in thread
From: Bo Shen @ 2015-01-16 1:17 UTC (permalink / raw)
To: Mark Brown
Cc: nicolas.ferre, linux-arm-kernel, linux-kernel, devicetree,
alsa-devel, linux-sound, Alexander Morozov
Hi Mark,
On 01/15/2015 07:54 PM, Mark Brown wrote:
> On Mon, Dec 15, 2014 at 11:31:11AM +0800, Bo Shen wrote:
>
>> +#ifdef CONFIG_OF
>> +static enum wm8904_type wm8904_data = WM8904;
>> +static enum wm8904_type wm8912_data = WM8912;
>> +
>> +static const struct of_device_id wm8904_of_match[] = {
>> + {
>> + .compatible = "wlf,wm8904",
>> + .data = &wm8904_data,
>
> Does this end up in the i2c_driver_id driver data or do we need some
> extra code when devtype is assigned to check for an of_node and look at
> the DT data instead? That certainly used to be the case...
At the beginning I think as the same as you, and also add the code to
get the data as I do in <drivers/misc/atmel-ssc.c>. However, as I
remember, I2C seems only use the compatible string after the comma, that
means only for "wlf,wm8904", it uses "wm8904" to match. So, I remove all
the code I added, and just keep these, and it can get the device type
correctly.
So, when I submit the patch and keep the code as simple as possible.
Thanks.
Best Regards,
Bo Shen
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 1/3] ASoC: codecs: wm8904: add dt ids table
2015-01-16 1:17 ` Bo Shen
@ 2015-01-26 15:24 ` Nicolas Ferre
2015-01-26 16:42 ` Mark Brown
0 siblings, 1 reply; 10+ messages in thread
From: Nicolas Ferre @ 2015-01-26 15:24 UTC (permalink / raw)
To: Bo Shen, Mark Brown
Cc: linux-arm-kernel, linux-kernel, devicetree, alsa-devel,
linux-sound, Alexander Morozov
Le 16/01/2015 02:17, Bo Shen a écrit :
> Hi Mark,
>
> On 01/15/2015 07:54 PM, Mark Brown wrote:
>> On Mon, Dec 15, 2014 at 11:31:11AM +0800, Bo Shen wrote:
>>
>>> +#ifdef CONFIG_OF
>>> +static enum wm8904_type wm8904_data = WM8904;
>>> +static enum wm8904_type wm8912_data = WM8912;
>>> +
>>> +static const struct of_device_id wm8904_of_match[] = {
>>> + {
>>> + .compatible = "wlf,wm8904",
>>> + .data = &wm8904_data,
>>
>> Does this end up in the i2c_driver_id driver data or do we need some
>> extra code when devtype is assigned to check for an of_node and look at
>> the DT data instead? That certainly used to be the case...
>
> At the beginning I think as the same as you, and also add the code to
> get the data as I do in <drivers/misc/atmel-ssc.c>. However, as I
> remember, I2C seems only use the compatible string after the comma, that
> means only for "wlf,wm8904", it uses "wm8904" to match. So, I remove all
> the code I added, and just keep these, and it can get the device type
> correctly.
>
> So, when I submit the patch and keep the code as simple as possible.
>
> Thanks.
>
> Best Regards,
> Bo Shen
I don't understand what's keeping this patch from being applied. Voice,
do you mind re-sending?
On my side, I take the two patches that apply on AT91 DT (2/3 and 3/3).
Bye,
--
Nicolas Ferre
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 1/3] ASoC: codecs: wm8904: add dt ids table
2015-01-26 15:24 ` Nicolas Ferre
@ 2015-01-26 16:42 ` Mark Brown
2015-01-26 16:49 ` [alsa-devel] " Lars-Peter Clausen
0 siblings, 1 reply; 10+ messages in thread
From: Mark Brown @ 2015-01-26 16:42 UTC (permalink / raw)
To: Nicolas Ferre
Cc: Bo Shen, linux-arm-kernel, linux-kernel, devicetree, alsa-devel,
linux-sound, Alexander Morozov
[-- Attachment #1: Type: text/plain, Size: 1074 bytes --]
On Mon, Jan 26, 2015 at 04:24:38PM +0100, Nicolas Ferre wrote:
> Le 16/01/2015 02:17, Bo Shen a écrit :
> >> Does this end up in the i2c_driver_id driver data or do we need some
> >> extra code when devtype is assigned to check for an of_node and look at
> >> the DT data instead? That certainly used to be the case...
> > At the beginning I think as the same as you, and also add the code to
> > get the data as I do in <drivers/misc/atmel-ssc.c>. However, as I
> > remember, I2C seems only use the compatible string after the comma, that
> > means only for "wlf,wm8904", it uses "wm8904" to match. So, I remove all
> > the code I added, and just keep these, and it can get the device type
> > correctly.
> > So, when I submit the patch and keep the code as simple as possible.
> I don't understand what's keeping this patch from being applied. Voice,
> do you mind re-sending?
I need to convince myself that the above actually works and is doing the
right thing; the above explanation sounds like if it works it might be
relying on a bug.
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [alsa-devel] [PATCH v2 1/3] ASoC: codecs: wm8904: add dt ids table
2015-01-26 16:42 ` Mark Brown
@ 2015-01-26 16:49 ` Lars-Peter Clausen
2015-01-27 1:35 ` Bo Shen
0 siblings, 1 reply; 10+ messages in thread
From: Lars-Peter Clausen @ 2015-01-26 16:49 UTC (permalink / raw)
To: Mark Brown, Nicolas Ferre
Cc: devicetree, alsa-devel, linux-kernel, linux-sound,
Alexander Morozov, Bo Shen, linux-arm-kernel
On 01/26/2015 05:42 PM, Mark Brown wrote:
> On Mon, Jan 26, 2015 at 04:24:38PM +0100, Nicolas Ferre wrote:
>> Le 16/01/2015 02:17, Bo Shen a écrit :
>
>>>> Does this end up in the i2c_driver_id driver data or do we need some
>>>> extra code when devtype is assigned to check for an of_node and look at
>>>> the DT data instead? That certainly used to be the case...
>
>>> At the beginning I think as the same as you, and also add the code to
>>> get the data as I do in <drivers/misc/atmel-ssc.c>. However, as I
>>> remember, I2C seems only use the compatible string after the comma, that
>>> means only for "wlf,wm8904", it uses "wm8904" to match. So, I remove all
>>> the code I added, and just keep these, and it can get the device type
>>> correctly.
>
>>> So, when I submit the patch and keep the code as simple as possible.
>
>> I don't understand what's keeping this patch from being applied. Voice,
>> do you mind re-sending?
>
> I need to convince myself that the above actually works and is doing the
> right thing; the above explanation sounds like if it works it might be
> relying on a bug.
I'd call it a undocumented feature. But I wouldn't rely on it being around
for ever. In my opinion to be future proof the driver should explicitly
handle the OF case in the probe function.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [alsa-devel] [PATCH v2 1/3] ASoC: codecs: wm8904: add dt ids table
2015-01-26 16:49 ` [alsa-devel] " Lars-Peter Clausen
@ 2015-01-27 1:35 ` Bo Shen
0 siblings, 0 replies; 10+ messages in thread
From: Bo Shen @ 2015-01-27 1:35 UTC (permalink / raw)
To: Lars-Peter Clausen, Mark Brown, Nicolas Ferre
Cc: devicetree, alsa-devel, linux-kernel, linux-sound,
Alexander Morozov, linux-arm-kernel
Hi Mark, Lars-Perter,
On 01/27/2015 12:49 AM, Lars-Peter Clausen wrote:
> On 01/26/2015 05:42 PM, Mark Brown wrote:
>> On Mon, Jan 26, 2015 at 04:24:38PM +0100, Nicolas Ferre wrote:
>>> Le 16/01/2015 02:17, Bo Shen a écrit :
>>
>>>>> Does this end up in the i2c_driver_id driver data or do we need some
>>>>> extra code when devtype is assigned to check for an of_node and
>>>>> look at
>>>>> the DT data instead? That certainly used to be the case...
>>
>>>> At the beginning I think as the same as you, and also add the code to
>>>> get the data as I do in <drivers/misc/atmel-ssc.c>. However, as I
>>>> remember, I2C seems only use the compatible string after the comma,
>>>> that
>>>> means only for "wlf,wm8904", it uses "wm8904" to match. So, I remove
>>>> all
>>>> the code I added, and just keep these, and it can get the device type
>>>> correctly.
>>
>>>> So, when I submit the patch and keep the code as simple as possible.
>>
>>> I don't understand what's keeping this patch from being applied. Voice,
>>> do you mind re-sending?
>>
>> I need to convince myself that the above actually works and is doing the
>> right thing; the above explanation sounds like if it works it might be
>> relying on a bug.
>
> I'd call it a undocumented feature. But I wouldn't rely on it being
> around for ever. In my opinion to be future proof the driver should
> explicitly handle the OF case in the probe function.
>
I will add this into probe function in next version.
Thanks.
Best Regards,
Bo Shen
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2015-01-27 1:36 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-15 3:31 [PATCH v2 1/3] ASoC: codecs: wm8904: add dt ids table Bo Shen
2014-12-15 3:31 ` [PATCH v2 2/3] ARM: at91: sama5d3xek/dt: use dt ids for wm8904 Bo Shen
2014-12-15 3:31 ` [PATCH v2 3/3] ARM: at91: at91sam9n12ek/dt: " Bo Shen
2015-01-13 15:20 ` [PATCH v2 1/3] ASoC: codecs: wm8904: add dt ids table Nicolas Ferre
2015-01-15 11:54 ` Mark Brown
2015-01-16 1:17 ` Bo Shen
2015-01-26 15:24 ` Nicolas Ferre
2015-01-26 16:42 ` Mark Brown
2015-01-26 16:49 ` [alsa-devel] " Lars-Peter Clausen
2015-01-27 1:35 ` Bo Shen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).