• Jon Hunter's avatar
    ASoC: simple-card: Fix configuration of DAI format · 069d037a
    Jon Hunter authored
    When configuring a codec to be both bit-clock and frame-master, it was
    found that the codec was always configured as bit-clock and frame-slave.
    Looking at the simple_dai_link_of() function there appears to be two
    problems with the configuration of the DAI format, which are ...
    
    1. The function asoc_simple_parse_daifmt() is called before the function
       asoc_simple_parse_codec() and this means that the device-tree node
       for the codec has not been parsed yet, which is needed by the
       function asoc_simple_parse_daifmt() to determine who is the codec.
    2. The phandle passed to asoc_simple_parse_daifmt() is the phandle to
       the 'codec' node and not the phandle of the actual codec defined by
       the 'sound-dai' property under the 'codec' node.
    
    Fix the above by moving the call to asoc_simple_parse_daifmt() after the
    the call to asoc_simple_parse_codec() and pass the phandle for the codec
    to asoc_simple_parse_daifmt().
    Signed-off-by: default avatarJon Hunter <jonathanh@nvidia.com>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    069d037a
simple-card.c 17.3 KB