[PATCH v5 5/8] phy: rockchip-samsung-dcphy: Add a second PHY for the receiver
Krzysztof Kozlowski
krzk at kernel.org
Sat Oct 17 10:24:29 PDT 2026
On Fri, Oct 16, 2026 at 04:56:39PM +0800, Jason Yang wrote:
static const struct phy_ops samsung_mipi_dcphy_tx_ops = {
> .configure = samsung_mipi_dcphy_tx_configure,
> .power_on = samsung_mipi_dcphy_tx_power_on,
> @@ -1520,6 +1538,15 @@ static const struct phy_ops samsung_mipi_dcphy_tx_ops = {
> .owner = THIS_MODULE,
> };
>
> +static const struct phy_ops samsung_mipi_dcphy_rx_ops = {
> + .configure = samsung_mipi_dcphy_rx_configure,
> + .power_on = samsung_mipi_dcphy_rx_power_on,
> + .power_off = samsung_mipi_dcphy_rx_power_off,
> + .init = samsung_mipi_dcphy_init,
> + .exit = samsung_mipi_dcphy_exit,
> + .owner = THIS_MODULE,
> +};
> +
> static const struct regmap_config samsung_mipi_dcphy_regmap_config = {
> .name = "dcphy",
> .reg_bits = 32,
> @@ -1532,19 +1559,42 @@ static struct phy *samsung_mipi_dcphy_xlate(struct device *dev,
> const struct of_phandle_args *args)
> {
> struct samsung_mipi_dcphy *samsung = dev_get_drvdata(dev);
> + /* Device trees without the second cell describe the transmitter. */
> + u32 direction = PHY_DIRECTION_TX;
> + u32 type;
>
> - if (args->args_count != 1) {
So this is the part which prevents change in the ABI (see Rob's comment).
Why was the driver coded that way?
> + if (args->args_count < 1 || args->args_count > 2) {
And you repeat the pattern, so if third argument is added, DTS does not
work with existing kernel.
Why?
Best regards,
Krzysztof
More information about the Linux-rockchip
mailing list