Re: [PATCH v5 2/8] dt-bindings: phy: rockchip,rk3588-mipi-dcphy: Add a cell to select TX or RX
From: 楊智成
Date: Mon Oct 19 2026 - 04:15:22 EST
Hi Krzysztof, Rob,
> Existing OS should ignore surplus cell if the driver is coded properly.
> Same as adding new properties or new front-compatible. The question is
> how the existing driver behaves?
As you pointed out on 5/8, the xlate checks args_count != 1. The DC-PHY
driver was merged in v6.15, so every kernel since 6.15 fails on a second cell.
1. Keep the second cell. Add the patch as follows:
- if (args->args_count != 1) {
+ if (args->args_count < 1) {
dev_err(dev, "invalid number of arguments\n");
return ERR_PTR(-EINVAL);
}
+ if (args->args_count > 1 && args->args[1]) {
+ dev_err(dev, "only the transmitter is supported\n");
+ return ERR_PTR(-EINVAL);
+ }
With Fixes: and Cc: stable, the stable kernels maintained at that
time (currently 6.18.y and 7.2.y) keep DSI working with the new
dts, and the receiver fails cleanly instead of getting the transmitter.
But EOL kernels (6.15, 6.16, 6.17, 6.19, 7.0, 7.1) stay affected.
It goes in with the series, since two-cell dts only exist after it.
2. Use a flag in the upper bits of the existing cell, as Rob
suggested. Existing kernels are not affected, unless a board enables
the DC-PHY CSI-2 receiver on 7.0 or later without this series.
I will write the impact clearly whichever approach is selected in
the related commit messages and the cover letter.
I think the cell approach is easier to read and more symmetric in the
long term,
but it breaks more. Which one do you think is better? Thanks.
Best regards,
Jason