[PATCH v3 3/5] phy: rockchip-samsung-dcphy: factor MIPI D-PHY power on/off into helpers
Jason Yang via B4 Relay <[email protected]>
| Newsgroups | org.infradead.lists.linux-rockchip,org.infradead.lists.linux-arm-kernel,org.infradead.lists.linux-phy,org.kernel.feeds.b4-sent,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
From: Jason Yang <[email protected]> To prepare for adding a receiver (CSI) PHY next to the existing transmitter (DSI) one, rename the transmitter power-on helper to samsung_mipi_dphy_tx_power_on() and gather its teardown into a new samsung_mipi_dphy_tx_power_off(), so transmitter and receiver can later be powered on and off through symmetric helpers. With both arms of the type switch reduced to plain returns, turn it into an early guard for the not yet supported C-PHY and drop the unreachable trailing return. No functional change intended. Signed-off-by: Jason Yang <[email protected]> Assisted-by: Claude:claude-fable-5 --- drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c | 33 +++++++++++------------ 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c b/drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c index cbd780556da8..99ca0e1cc574 100644 --- a/drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c +++ b/drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c @@ -1332,7 +1332,7 @@ samsung_mipi_dphy_data_lane_timing_init(struct samsung_mipi_dcphy *samsung) regmap_write(samsung->regmap, DPHY_MD3_TIME_CON4, 0x1f4); } -static int samsung_mipi_dphy_power_on(struct samsung_mipi_dcphy *samsung) +static int samsung_mipi_dphy_tx_power_on(struct samsung_mipi_dcphy *samsung) { int ret; @@ -1358,6 +1358,14 @@ static int samsung_mipi_dphy_power_on(struct samsung_mipi_dcphy *samsung) return 0; } +static int samsung_mipi_dphy_tx_power_off(struct samsung_mipi_dcphy *samsung) +{ + samsung_mipi_dphy_lane_disable(samsung); + samsung_mipi_dcphy_pll_disable(samsung); + + return 0; +} + static int samsung_mipi_dcphy_power_on(struct phy *phy) { struct samsung_mipi_dcphy *samsung = phy_get_drvdata(phy); @@ -1366,33 +1374,22 @@ static int samsung_mipi_dcphy_power_on(struct phy *phy) udelay(1); reset_control_deassert(samsung->apb_rst); - switch (samsung->type) { - case PHY_TYPE_DPHY: - return samsung_mipi_dphy_power_on(samsung); - default: - /* CPHY part to be implemented later */ + /* CPHY part to be implemented later */ + if (samsung->type != PHY_TYPE_DPHY) return -EOPNOTSUPP; - } - return 0; + return samsung_mipi_dphy_tx_power_on(samsung); } static int samsung_mipi_dcphy_power_off(struct phy *phy) { struct samsung_mipi_dcphy *samsung = phy_get_drvdata(phy); - switch (samsung->type) { - case PHY_TYPE_DPHY: - samsung_mipi_dphy_lane_disable(samsung); - break; - default: - /* CPHY part to be implemented later */ + /* CPHY part to be implemented later */ + if (samsung->type != PHY_TYPE_DPHY) return -EOPNOTSUPP; - } - samsung_mipi_dcphy_pll_disable(samsung); - - return 0; + return samsung_mipi_dphy_tx_power_off(samsung); } static int -- 2.43.0 _______________________________________________ Linux-rockchip mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-rockchip