|
|
@@ -4554,7 +4554,9 @@ int snd_soc_of_parse_audio_routing(struct snd_soc_card *card,
|
|
|
EXPORT_SYMBOL_GPL(snd_soc_of_parse_audio_routing);
|
|
|
|
|
|
unsigned int snd_soc_of_parse_daifmt(struct device_node *np,
|
|
|
- const char *prefix)
|
|
|
+ const char *prefix,
|
|
|
+ struct device_node **bitclkmaster,
|
|
|
+ struct device_node **framemaster)
|
|
|
{
|
|
|
int ret, i;
|
|
|
char prop[128];
|
|
|
@@ -4637,9 +4639,13 @@ unsigned int snd_soc_of_parse_daifmt(struct device_node *np,
|
|
|
*/
|
|
|
snprintf(prop, sizeof(prop), "%sbitclock-master", prefix);
|
|
|
bit = !!of_get_property(np, prop, NULL);
|
|
|
+ if (bit && bitclkmaster)
|
|
|
+ *bitclkmaster = of_parse_phandle(np, prop, 0);
|
|
|
|
|
|
snprintf(prop, sizeof(prop), "%sframe-master", prefix);
|
|
|
frame = !!of_get_property(np, prop, NULL);
|
|
|
+ if (frame && framemaster)
|
|
|
+ *framemaster = of_parse_phandle(np, prop, 0);
|
|
|
|
|
|
switch ((bit << 4) + frame) {
|
|
|
case 0x11:
|