sound: omap: n810: fix init with DT boot
diff mbox

Message ID 1393697317-16733-1-git-send-email-aaro.koskinen@iki.fi
State Accepted
Commit ea2787f350ea5f649fda6bb708c4182cf4ec06ca
Headers show

Commit Message

Aaro Koskinen March 1, 2014, 6:08 p.m. UTC
Since 3.14-rc1 only DT boot has been supported on N810. Make a minimal
fix to retain functionality. This file should be properly converted
to DT in longer term.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
---
 sound/soc/omap/n810.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Jarkko Nikula March 3, 2014, 6:41 p.m. UTC | #1
On 03/01/2014 08:08 PM, Aaro Koskinen wrote:
> Since 3.14-rc1 only DT boot has been supported on N810. Make a minimal
> fix to retain functionality. This file should be properly converted
> to DT in longer term.
> 
> Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
> ---
>  sound/soc/omap/n810.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
Right, so there is actually regression. Can you get codec to probe? I
get this when drivers are modules:

	tlv320aic3x-codec: probe of 1-0018 failed with error -16

I don't see quickly from where this -EBUSY comes but
arch/arm/mach-omap2/board-n8x0.c seems to register it since module is
loaded.

With your patch basic n810 machine driver probing works again although
audio card is not registered for me due failing codec probe.

Please resend you fix and cc maintainers Mark Brown <broonie@kernel.org>
and Liam Girdwood <lgirdwood@gmail.com>. You can add my ack

Acked-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>

Patch
diff mbox

diff --git a/sound/soc/omap/n810.c b/sound/soc/omap/n810.c
index 3fde9e4..d163e18 100644
--- a/sound/soc/omap/n810.c
+++ b/sound/soc/omap/n810.c
@@ -305,7 +305,9 @@  static int __init n810_soc_init(void)
 	int err;
 	struct device *dev;
 
-	if (!(machine_is_nokia_n810() || machine_is_nokia_n810_wimax()))
+	if (!of_have_populated_dt() ||
+	    (!of_machine_is_compatible("nokia,n810") &&
+	     !of_machine_is_compatible("nokia,n810-wimax")))
 		return -ENODEV;
 
 	n810_snd_device = platform_device_alloc("soc-audio", -1);