Thread (7 messages) 7 messages, 3 authors, 2023-06-27

Re: Aw: Re: [PATCH v1 1/2] dt-bindings: mmc: mtk-sd: update assigned-clocks/clock-parents for mt7986

From: Krzysztof Kozlowski <hidden>
Date: 2023-06-27 13:37:19
Also in: linux-arm-kernel, linux-mmc, lkml

On 27/06/2023 14:09, Frank Wunderlich wrote:
quoted
Gesendet: Dienstag, 27. Juni 2023 um 12:44 Uhr
Von: "Krzysztof Kozlowski" [off-list ref]
Betreff: Re: [PATCH v1 1/2] dt-bindings: mmc: mtk-sd: update assigned-clocks/clock-parents for mt7986

On 25/06/2023 21:11, Frank Wunderlich wrote:
quoted
From: Frank Wunderlich <redacted>

MT7986 has 2 clock-parents so update the binding for it.
You didn't test it, I think. If you do, then you will see errors from
other trees.
Hi,

i tested it of course...which errors do you see?
The top-level said it can be maximum 1, so raising it in allOf:if:then:
should not be enough
11
this is basicly how i tested it (in case anything has changed):

        logfile=dtbs_arm64.log
        exec 3> >(tee $logfile)
        ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make DT_CHECKER_FLAGS=-m dt_binding_check 2>&3
        if [[ $? -ne 0 ]];then echo "arm64 binding check failed!";cat $logfile;exit 1;fi
        ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make defconfig #dtbs_check need kernel-config
        ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make -j8 DT_CHECKER_FLAGS=-m dtbs_check 2>&3
        if [[ $? -ne 0 ]];then echo "arm64 dtbs_check failed!";cat $logfile;exit 1;fi
A bit over-complicated... why not running dtbs_check against the schema
you changed?
and looked into the resulting logfile for keywords like mmc like mtk-sd

i tried running dtbs_check with passing the yaml-file, but of course all compatibles not matching this file were reported.

ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make -j6 DT_CHECKER_FLAGS=-m dtbs_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/mmc/mtk-sd.yaml

but this spits out many errors "failed to match any schema with compatible" because i defined only the changed one...

maybe there is another way to check only one yaml file against all dtbs without these unrelated errors.

pipeline in dt-bindings-patchwork is clean too
https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20230625191151.7808-2-linux@fw-web.de/
Maybe that binding just fails to apply to DTS because of missing or not
correct compatibles.
quoted
Anyway, I don't understand why defining it in the first place. Just drop
the assigned-clock* from the binding.
as it was defined (not looked where it was used) i only used the soc-specific branch to update the MaxItems...just to not break anything. After that the message i got before was fixed

arch/arm64/boot/dts/mediatek/mt7986a-bananapi-bpi-r3.dtb: mmc@11230000: assigned-clocks: [[4, 35], [4, 34]] is too long
arch/arm64/boot/dts/mediatek/mt7986a-bananapi-bpi-r3.dtb: mmc@11230000: assigned-clock-parents: [[5, 6], [4, 18]] is too long

but if the right way is to drop the MaxItems from generic (or the property itself - where is it taken from then?). The only
include i see is Documentation/devicetree/bindings/mmc/mmc-controller.yaml and there the assigned-clock* is not defined. And the
The way is to entirely drop assigned-clocks. I don't think there are
much benefits of having them in the bindings. Maybe if specific rates
are required, then yes - device cannot work with other rates and you can
verify it with dtbs_check. But otherwise it is like adding values of
'reg' or 'interrupts'. Plus some board might require third item and then
what?

Best regards,
Krzysztof
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help