• Kuninori Morimoto's avatar
    ASoC: hdmi-codec: callback function will be called with private data · efc9194b
    Kuninori Morimoto authored
    Current hdmi-codec driver is assuming that it will be registered
    from HDMI driver. Because of this assumption, each callback function
    has struct device pointer which is parent device (= HDMI).
    Then, it can use dev_get_drvdata() to get private data.
    
    OTOH, on some SoC/HDMI case, SoC has VIDEO/SOUND and HDMI IPs.
    This case, it needs SoC VIDEO, SoC SOUND and HDMI video, HDMI codec
    driver. In DesignWare HDMI IP case, SoC VIDEO (= DRM/KMS) driver tries
    to bind DesignWare HDMI video driver, and HDMI codec driver
    (= hdmi-codec). This case, above "parent device" of HDMI codec driver
    is DRM/KMS driver and its "device" already has private data.
    
    And, from DT and ASoC CPU/Codec/Card binding point of view, HDMI codec
    (= hdmi-codec) needs to have "parent device" (= DRM/KMS), otherwise,
    it never detect sound card.
    
    Because of these reasons, some driver can't use dev_get_drvdata() to
    get private data on hdmi-codec driver. This patch add new void pointer
    on hdmi_codec_pdata for private data, and callback function will be
    called with it.
    Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    efc9194b
hdmi-codec.c 10.8 KB