phy: phy-mtk-hdmi: Add generic phy configure callback
Some phys, such as mt8195, needs to have a configure callback defined. Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com> Signed-off-by: Guillaume Ranquet <granquet@baylibre.com> Link: https://lore.kernel.org/r/20220919-v8-2-a84c80468fe9@baylibre.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
This commit is contained in:
parent
c78fe548b0
commit
605b903719
|
@ -8,10 +8,12 @@
|
||||||
|
|
||||||
static int mtk_hdmi_phy_power_on(struct phy *phy);
|
static int mtk_hdmi_phy_power_on(struct phy *phy);
|
||||||
static int mtk_hdmi_phy_power_off(struct phy *phy);
|
static int mtk_hdmi_phy_power_off(struct phy *phy);
|
||||||
|
static int mtk_hdmi_phy_configure(struct phy *phy, union phy_configure_opts *opts);
|
||||||
|
|
||||||
static const struct phy_ops mtk_hdmi_phy_dev_ops = {
|
static const struct phy_ops mtk_hdmi_phy_dev_ops = {
|
||||||
.power_on = mtk_hdmi_phy_power_on,
|
.power_on = mtk_hdmi_phy_power_on,
|
||||||
.power_off = mtk_hdmi_phy_power_off,
|
.power_off = mtk_hdmi_phy_power_off,
|
||||||
|
.configure = mtk_hdmi_phy_configure,
|
||||||
.owner = THIS_MODULE,
|
.owner = THIS_MODULE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -43,6 +45,16 @@ static int mtk_hdmi_phy_power_off(struct phy *phy)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int mtk_hdmi_phy_configure(struct phy *phy, union phy_configure_opts *opts)
|
||||||
|
{
|
||||||
|
struct mtk_hdmi_phy *hdmi_phy = phy_get_drvdata(phy);
|
||||||
|
|
||||||
|
if (hdmi_phy->conf->hdmi_phy_configure)
|
||||||
|
return hdmi_phy->conf->hdmi_phy_configure(phy, opts);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static const struct phy_ops *
|
static const struct phy_ops *
|
||||||
mtk_hdmi_phy_dev_get_ops(const struct mtk_hdmi_phy *hdmi_phy)
|
mtk_hdmi_phy_dev_get_ops(const struct mtk_hdmi_phy *hdmi_phy)
|
||||||
{
|
{
|
||||||
|
|
|
@ -24,6 +24,7 @@ struct mtk_hdmi_phy_conf {
|
||||||
const struct clk_ops *hdmi_phy_clk_ops;
|
const struct clk_ops *hdmi_phy_clk_ops;
|
||||||
void (*hdmi_phy_enable_tmds)(struct mtk_hdmi_phy *hdmi_phy);
|
void (*hdmi_phy_enable_tmds)(struct mtk_hdmi_phy *hdmi_phy);
|
||||||
void (*hdmi_phy_disable_tmds)(struct mtk_hdmi_phy *hdmi_phy);
|
void (*hdmi_phy_disable_tmds)(struct mtk_hdmi_phy *hdmi_phy);
|
||||||
|
int (*hdmi_phy_configure)(struct phy *phy, union phy_configure_opts *opts);
|
||||||
};
|
};
|
||||||
|
|
||||||
struct mtk_hdmi_phy {
|
struct mtk_hdmi_phy {
|
||||||
|
|
Loading…
Reference in New Issue