ASoC: samsung: Fix non-DT use of I2S controller
authorMark Brown <broonie@kernel.org>
Fri, 5 Dec 2014 19:56:17 +0000 (19:56 +0000)
committerMark Brown <broonie@kernel.org>
Mon, 8 Dec 2014 12:08:13 +0000 (12:08 +0000)
The changes in commit a5a56871f804e (ASoC: samsung: add support for exynos7
I2S controller) introduce a new variant_regs structure in the driver data
which is now mandatory for accessing registers. Unfortunately this is only
hooked up for DT platforms so non-DT platforms like my primary development
platform for audio are broken by this change and crash on boot.

Since the only non-DT user of these device is s3c64xx fix this by making
the standard samsung-i2s device be of type I2Sv3 and add a new I2Sv4 name
to the platform data section, currently using the I2Sv5 information which
should be about right.

Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/samsung/i2s.c

index c60ab07..c7aafcd 100644 (file)
@@ -1424,10 +1424,13 @@ static const struct samsung_i2s_dai_data samsung_dai_type_sec = {
 static struct platform_device_id samsung_i2s_driver_ids[] = {
        {
                .name           = "samsung-i2s",
-               .driver_data    = (kernel_ulong_t)&samsung_dai_type_pri,
+               .driver_data    = (kernel_ulong_t)&i2sv3_dai_type,
        }, {
                .name           = "samsung-i2s-sec",
                .driver_data    = (kernel_ulong_t)&samsung_dai_type_sec,
+       }, {
+               .name           = "samsung-i2sv4",
+               .driver_data    = (kernel_ulong_t)&i2sv5_dai_type,
        },
        {},
 };