diff options
author | Timur Tabi <timur@freescale.com> | 2010-08-04 18:51:08 -0400 |
---|---|---|
committer | Liam Girdwood <lrg@slimlogic.co.uk> | 2010-08-12 09:00:17 -0400 |
commit | ff71334a46844d0ae6ff0055c549790bcd27bb10 (patch) | |
tree | 08c04a7d44c17737bd19a3b29571fd3e99946dda | |
parent | 87a0632b29410bab5c1783d7eb979c8d942d4209 (diff) |
asoc/multi-component: fsl: add support for disabled SSI nodes
Add support for adding "status = disabled" to an SSI node to incidate that it
is not wired on the board. This replaces the not-so-intuitive previous method
of omitting a codec-handle property.
Signed-off-by: Timur Tabi <timur@freescale.com>
Acked-by: Kumar Gala <galak@kernel.crashing.org>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
-rw-r--r-- | arch/powerpc/boot/dts/mpc8610_hpcd.dts | 1 | ||||
-rw-r--r-- | sound/soc/fsl/fsl_ssi.c | 13 |
2 files changed, 11 insertions, 3 deletions
diff --git a/arch/powerpc/boot/dts/mpc8610_hpcd.dts b/arch/powerpc/boot/dts/mpc8610_hpcd.dts index 9535ce68caae..83c3218cb4da 100644 --- a/arch/powerpc/boot/dts/mpc8610_hpcd.dts +++ b/arch/powerpc/boot/dts/mpc8610_hpcd.dts | |||
@@ -286,6 +286,7 @@ | |||
286 | 286 | ||
287 | ssi@16100 { | 287 | ssi@16100 { |
288 | compatible = "fsl,mpc8610-ssi"; | 288 | compatible = "fsl,mpc8610-ssi"; |
289 | status = "disabled"; | ||
289 | cell-index = <1>; | 290 | cell-index = <1>; |
290 | reg = <0x16100 0x100>; | 291 | reg = <0x16100 0x100>; |
291 | interrupt-parent = <&mpic>; | 292 | interrupt-parent = <&mpic>; |
diff --git a/sound/soc/fsl/fsl_ssi.c b/sound/soc/fsl/fsl_ssi.c index 00e3e625b52a..7939c337ed9d 100644 --- a/sound/soc/fsl/fsl_ssi.c +++ b/sound/soc/fsl/fsl_ssi.c | |||
@@ -625,12 +625,19 @@ static int __devinit fsl_ssi_probe(struct of_device *of_dev, | |||
625 | struct resource res; | 625 | struct resource res; |
626 | char name[64]; | 626 | char name[64]; |
627 | 627 | ||
628 | /* We are only interested in SSIs with a codec phandle in them, so let's | 628 | /* SSIs that are not connected on the board should have a |
629 | * make sure this SSI has one. | 629 | * status = "disabled" |
630 | * property in their device tree nodes. | ||
630 | */ | 631 | */ |
631 | if (!of_get_property(np, "codec-handle", NULL)) | 632 | if (!of_device_is_available(np)) |
632 | return -ENODEV; | 633 | return -ENODEV; |
633 | 634 | ||
635 | /* Check for a codec-handle property. */ | ||
636 | if (!of_get_property(np, "codec-handle", NULL)) { | ||
637 | dev_err(&of_dev->dev, "missing codec-handle property\n"); | ||
638 | return -ENODEV; | ||
639 | } | ||
640 | |||
634 | /* We only support the SSI in "I2S Slave" mode */ | 641 | /* We only support the SSI in "I2S Slave" mode */ |
635 | sprop = of_get_property(np, "fsl,mode", NULL); | 642 | sprop = of_get_property(np, "fsl,mode", NULL); |
636 | if (!sprop || strcmp(sprop, "i2s-slave")) { | 643 | if (!sprop || strcmp(sprop, "i2s-slave")) { |