[alsa-devel] [PATCH] ASoC: ak4554: add DT support
Support for loading the ak4554 codec module via devicetree.
Signed-off-by: Kuninori Morimoto kuninori.morimoto.gx@renesas.com --- This is for mark/topic/ak4554 branch
Documentation/devicetree/bindings/sound/ak4554.c | 11 +++++++++++ sound/soc/codecs/ak4554.c | 7 +++++++ 2 files changed, 18 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/ak4554.c
diff --git a/Documentation/devicetree/bindings/sound/ak4554.c b/Documentation/devicetree/bindings/sound/ak4554.c new file mode 100644 index 0000000..934fa02 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/ak4554.c @@ -0,0 +1,11 @@ +AK4554 ADC/DAC + +Required properties: + + - compatible : "asahi-kasei,ak4554" + +Example: + +ak4554-adc-dac { + compatible = "asahi-kasei,ak4554"; +}; diff --git a/sound/soc/codecs/ak4554.c b/sound/soc/codecs/ak4554.c index c1a1733..6aed9c4 100644 --- a/sound/soc/codecs/ak4554.c +++ b/sound/soc/codecs/ak4554.c @@ -64,10 +64,17 @@ static int ak4554_soc_remove(struct platform_device *pdev) return 0; }
+static struct of_device_id ak4554_of_match[] = { + { .compatible = "asahi-kasei,ak4554" }, + {}, +}; +MODULE_DEVICE_TABLE(of, ak4554_of_match); + static struct platform_driver ak4554_driver = { .driver = { .name = "ak4554-adc-dac", .owner = THIS_MODULE, + .of_match_table = ak4554_of_match, }, .probe = ak4554_soc_probe, .remove = ak4554_soc_remove,
- compatible : "asahi-kasei,ak4554"
The vendor prefix for Asahi Kasei is documented as "ak" in Documentation/devicetree/bindings/vendor-prefixes.txt. But it doesn;t seem to be used in any upstream drivers, Stephen add that prefix maybe he knows if it is used. If it is unused you should probably send a patch updating the Documentation.
- Lars
On 07/05/2013 03:37 AM, Lars-Peter Clausen wrote:
- compatible : "asahi-kasei,ak4554"
The vendor prefix for Asahi Kasei is documented as "ak" in Documentation/devicetree/bindings/vendor-prefixes.txt. But it doesn;t seem to be used in any upstream drivers, Stephen add that prefix maybe he knows if it is used. If it is unused you should probably send a patch updating the Documentation.
It's used at:
arch/arm/boot/dts/tegra20-seaboard.dts:499: compatible = "ak,ak8975";
... although I see that somebody has incorrectly modified ./drivers/iio/magnetometer/ak8975.c to support the "asahi-kasei," vendor prefix:-(
On 07/05/2013 06:55 PM, Stephen Warren wrote:
On 07/05/2013 03:37 AM, Lars-Peter Clausen wrote:
- compatible : "asahi-kasei,ak4554"
The vendor prefix for Asahi Kasei is documented as "ak" in Documentation/devicetree/bindings/vendor-prefixes.txt. But it doesn;t seem to be used in any upstream drivers, Stephen add that prefix maybe he knows if it is used. If it is unused you should probably send a patch updating the Documentation.
It's used at:
arch/arm/boot/dts/tegra20-seaboard.dts:499: compatible = "ak,ak8975";
... although I see that somebody has incorrectly modified ./drivers/iio/magnetometer/ak8975.c to support the "asahi-kasei," vendor prefix:-(
It looks as if the ak prefix was never in an upstream kernel and the commit date that added the dt table predates the commit date for your devicetree.
- Lars
On 07/05/2013 11:04 AM, Lars-Peter Clausen wrote:
On 07/05/2013 06:55 PM, Stephen Warren wrote:
On 07/05/2013 03:37 AM, Lars-Peter Clausen wrote:
- compatible : "asahi-kasei,ak4554"
The vendor prefix for Asahi Kasei is documented as "ak" in Documentation/devicetree/bindings/vendor-prefixes.txt. But it doesn;t seem to be used in any upstream drivers, Stephen add that prefix maybe he knows if it is used. If it is unused you should probably send a patch updating the Documentation.
It's used at:
arch/arm/boot/dts/tegra20-seaboard.dts:499: compatible = "ak,ak8975";
... although I see that somebody has incorrectly modified ./drivers/iio/magnetometer/ak8975.c to support the "asahi-kasei," vendor prefix:-(
It looks as if the ak prefix was never in an upstream kernel and the commit date that added the dt table predates the commit date for your devicetree.
The usage I quoted above is in the mainline kernel, along with the entry in vendor-prefixes.txt.
When I fixed vendor-prefixes.txt to define a prefix for AK, and updated the Tegra DT to use them[1], I guess I didn't even look at the driver, since all I2C device matching uses the i2c_device_id table rather than the of_device_id, and the i2c_device_id table doesn't have a concept of a vendor prefix. Hence, I didn't notice the conflict.
So, even though the asahi-kasei prefix is in the of_device_id table in the driver, I'd say the ak prefix trumps it, since it's actually in-use in device trees, and is registered in vendor-prefixes.txt.
[1]:
commit ae8c4209af2cec065fef15d200a42a04130799f7 Author: Stephen Warren swarren@nvidia.com AuthorDate: Mon Nov 19 15:34:43 2012 -0700 Commit: Rob Herring rob.herring@calxeda.com CommitDate: Tue Nov 20 22:58:54 2012 -0600
of: Add vendor prefix for Asahi Kasei Corp. Their stock ticker is 3407.T which wouldn't make a good DT vendor prefix. Use the company name initials instead. Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Rob Herring <rob.herring@calxeda.com>
commit 9846210b1ec9bbaa30022d6d8af7e55ef67ccb45 Author: Stephen Warren swarren@nvidia.com AuthorDate: Mon Nov 19 15:34:44 2012 -0700 Commit: Rob Herring rob.herring@calxeda.com CommitDate: Tue Nov 20 22:58:54 2012 -0600
ARM: tegra: seaboard: add missing DT vendor prefixes A couple devices' DT compatible values only contained the device name without any vendor prefix. Add the missing vendor prefixes. Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Rob Herring <rob.herring@calxeda.com>
participants (4)
-
Kuninori Morimoto
-
Lars-Peter Clausen
-
Mark Brown
-
Stephen Warren