diff options
Diffstat (limited to 'sound/soc/davinci')
-rw-r--r-- | sound/soc/davinci/davinci-mcasp.c | 22 |
1 files changed, 5 insertions, 17 deletions
diff --git a/sound/soc/davinci/davinci-mcasp.c b/sound/soc/davinci/davinci-mcasp.c index bbc9a0793eb9..71e14bb3a8cd 100644 --- a/sound/soc/davinci/davinci-mcasp.c +++ b/sound/soc/davinci/davinci-mcasp.c | |||
@@ -1050,7 +1050,6 @@ static struct snd_platform_data *davinci_mcasp_set_pdata_from_of( | |||
1050 | struct of_phandle_args dma_spec; | 1050 | struct of_phandle_args dma_spec; |
1051 | 1051 | ||
1052 | const u32 *of_serial_dir32; | 1052 | const u32 *of_serial_dir32; |
1053 | u8 *of_serial_dir; | ||
1054 | u32 val; | 1053 | u32 val; |
1055 | int i, ret = 0; | 1054 | int i, ret = 0; |
1056 | 1055 | ||
@@ -1081,32 +1080,21 @@ static struct snd_platform_data *davinci_mcasp_set_pdata_from_of( | |||
1081 | pdata->tdm_slots = val; | 1080 | pdata->tdm_slots = val; |
1082 | } | 1081 | } |
1083 | 1082 | ||
1084 | ret = of_property_read_u32(np, "num-serializer", &val); | ||
1085 | if (ret >= 0) | ||
1086 | pdata->num_serializer = val; | ||
1087 | |||
1088 | of_serial_dir32 = of_get_property(np, "serial-dir", &val); | 1083 | of_serial_dir32 = of_get_property(np, "serial-dir", &val); |
1089 | val /= sizeof(u32); | 1084 | val /= sizeof(u32); |
1090 | if (val != pdata->num_serializer) { | ||
1091 | dev_err(&pdev->dev, | ||
1092 | "num-serializer(%d) != serial-dir size(%d)\n", | ||
1093 | pdata->num_serializer, val); | ||
1094 | ret = -EINVAL; | ||
1095 | goto nodata; | ||
1096 | } | ||
1097 | |||
1098 | if (of_serial_dir32) { | 1085 | if (of_serial_dir32) { |
1099 | of_serial_dir = devm_kzalloc(&pdev->dev, | 1086 | u8 *of_serial_dir = devm_kzalloc(&pdev->dev, |
1100 | (sizeof(*of_serial_dir) * val), | 1087 | (sizeof(*of_serial_dir) * val), |
1101 | GFP_KERNEL); | 1088 | GFP_KERNEL); |
1102 | if (!of_serial_dir) { | 1089 | if (!of_serial_dir) { |
1103 | ret = -ENOMEM; | 1090 | ret = -ENOMEM; |
1104 | goto nodata; | 1091 | goto nodata; |
1105 | } | 1092 | } |
1106 | 1093 | ||
1107 | for (i = 0; i < pdata->num_serializer; i++) | 1094 | for (i = 0; i < val; i++) |
1108 | of_serial_dir[i] = be32_to_cpup(&of_serial_dir32[i]); | 1095 | of_serial_dir[i] = be32_to_cpup(&of_serial_dir32[i]); |
1109 | 1096 | ||
1097 | pdata->num_serializer = val; | ||
1110 | pdata->serial_dir = of_serial_dir; | 1098 | pdata->serial_dir = of_serial_dir; |
1111 | } | 1099 | } |
1112 | 1100 | ||