Re: [PATCH 04/10] dt-bindings: media: nxp,imx8mq-vpu: Support split G1 and G2 nodes with vpu-blk-ctrl
From: Rob Herring <robh@kernel.org>
Date: 2021-12-10 15:36:28
Also in:
linux-devicetree, linux-media, linux-rockchip, linux-staging, lkml
On Thu, Dec 09, 2021 at 05:36:04AM -0600, Adam Ford wrote:
On Thu, Dec 9, 2021 at 4:26 AM Ezequiel Garcia [off-list ref] wrote:quoted
Hi, Thanks for the patch. On Wed, Dec 08, 2021 at 04:50:23PM -0600, Adam Ford wrote:quoted
The G1 and G2 are separate decoder blocks that are enabled by the vpu-blk-ctrl power-domain controller, which now has a proper driver. Update the bindings to support separate nodes for the G1 and G2 decoders using the proper driver or the older unified node with the legacy controls. To be compatible with older DT the driver, mark certain items as deprecated and retain the backwards compatible example. Signed-off-by: Adam Ford <redacted> --- .../bindings/media/nxp,imx8mq-vpu.yaml | 83 ++++++++++++++----- 1 file changed, 64 insertions(+), 19 deletions(-)diff --git a/Documentation/devicetree/bindings/media/nxp,imx8mq-vpu.yaml b/Documentation/devicetree/bindings/media/nxp,imx8mq-vpu.yaml index 762be3f96ce9..eeb7bd6281f9 100644 --- a/Documentation/devicetree/bindings/media/nxp,imx8mq-vpu.yaml +++ b/Documentation/devicetree/bindings/media/nxp,imx8mq-vpu.yaml@@ -15,29 +15,39 @@ description: properties: compatible: - const: nxp,imx8mq-vpu + oneOf: + - const: nxp,imx8mq-vpu + deprecated: true + - const: nxp,imx8mq-vpu-g1 + - const: nxp,imx8mq-vpu-g2 reg: + minItems: 1 maxItems: 3Is it really useful to keep the deprecated binding nxp,imx8mq-vpu as something supported by the binding file?Since I was told that the driver needed to be backwards compatible, i wanted to make sure that any attempts to build the old device tree would not fail
I'm not convinced changing the binding at all is correct. 'The driver structure is changing and I want the binding to align with it' is not a reason. Are G1 and G2 actually separate, independent blocks where we could have 1 or both of them? And what about other platforms using this block? Even if the driver handles the old binding, a new dtb with an old kernel is broken. It's up to the platform to care or not, but you have to highlight that.
quoted
In other words, can we drop the deprecated binding from this file, while keeping the support in the driver for legacy device-trees?I was trying to represent both the old driver binding and the new one at the same time. I thought that's what I was told to do.
I don't care so much if we have a schema for old binding. I'd rather have warnings if the binding has not been updated. Eventually I want to be able to test for compatibility by testing DTs with different schema versions. We've got to get to 0 warnings first though... Rob _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel