Re: [PATCH v5 5/8] phy: rockchip-samsung-dcphy: Add a second PHY for the receiver

From: Krzysztof Kozlowski

Date: Sat Oct 17 2026 - 13:45:12 EST


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