All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ansuel Smith <ansuelsmth@gmail.com>
To: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Rob Herring <robh+dt@kernel.org>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Andy Gross <agross@kernel.org>,
	Michael Turquette <mturquette@baylibre.com>,
	Stephen Boyd <sboyd@kernel.org>,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org
Subject: Re: [PATCH v6 17/18] dt-bindings: arm: msm: Convert kpss-gcc driver Documentation to yaml
Date: Wed, 23 Mar 2022 12:03:56 +0100	[thread overview]
Message-ID: <Yjr+nHBFqNqMV+v0@Ansuel-xps.localdomain> (raw)
In-Reply-To: <f13fdc4b-8f45-b09f-5d58-8d2a565e2c18@kernel.org>

On Wed, Mar 23, 2022 at 10:59:39AM +0100, Krzysztof Kozlowski wrote:
> On 22/03/2022 14:26, Ansuel Smith wrote:
> > On Tue, Mar 22, 2022 at 11:07:26AM +0100, Krzysztof Kozlowski wrote:
> >> On 22/03/2022 00:15, Ansuel Smith wrote:
> >>> Convert kpss-gcc driver Documentation to yaml. Since kpss-gcc expose a
> >>> clock add the required '#clock-cells' binding while converting it.
> >>>
> >>> Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
> >>> ---
> >>>  .../bindings/arm/msm/qcom,kpss-gcc.txt        | 44 ------------
> >>>  .../bindings/arm/msm/qcom,kpss-gcc.yaml       | 69 +++++++++++++++++++
> >>>  2 files changed, 69 insertions(+), 44 deletions(-)
> >>>  delete mode 100644 Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.txt
> >>>  create mode 100644 Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.yaml
> >>>
> >>> diff --git a/Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.txt b/Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.txt
> >>> deleted file mode 100644
> >>> index e628758950e1..000000000000
> >>> --- a/Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.txt
> >>> +++ /dev/null
> >>> @@ -1,44 +0,0 @@
> >>> -Krait Processor Sub-system (KPSS) Global Clock Controller (GCC)
> >>> -
> >>> -PROPERTIES
> >>> -
> >>> -- compatible:
> >>> -	Usage: required
> >>> -	Value type: <string>
> >>> -	Definition: should be one of the following. The generic compatible
> >>> -			"qcom,kpss-gcc" should also be included.
> >>> -			"qcom,kpss-gcc-ipq8064", "qcom,kpss-gcc"
> >>> -			"qcom,kpss-gcc-apq8064", "qcom,kpss-gcc"
> >>> -			"qcom,kpss-gcc-msm8974", "qcom,kpss-gcc"
> >>> -			"qcom,kpss-gcc-msm8960", "qcom,kpss-gcc"
> >>> -
> >>> -- reg:
> >>> -	Usage: required
> >>> -	Value type: <prop-encoded-array>
> >>> -	Definition: base address and size of the register region
> >>> -
> >>> -- clocks:
> >>> -	Usage: required
> >>> -	Value type: <prop-encoded-array>
> >>> -	Definition: reference to the pll parents.
> >>> -
> >>> -- clock-names:
> >>> -	Usage: required
> >>> -	Value type: <stringlist>
> >>> -	Definition: must be "pll8_vote", "pxo".
> >>> -
> >>> -- clock-output-names:
> >>> -	Usage: required
> >>> -	Value type: <string>
> >>> -	Definition: Name of the output clock. Typically acpu_l2_aux indicating
> >>> -		    an L2 cache auxiliary clock.
> >>> -
> >>> -Example:
> >>> -
> >>> -	l2cc: clock-controller@2011000 {
> >>> -		compatible = "qcom,kpss-gcc-ipq8064", "qcom,kpss-gcc";
> >>> -		reg = <0x2011000 0x1000>;
> >>> -		clocks = <&gcc PLL8_VOTE>, <&gcc PXO_SRC>;
> >>> -		clock-names = "pll8_vote", "pxo";
> >>> -		clock-output-names = "acpu_l2_aux";
> >>> -	};
> >>> diff --git a/Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.yaml b/Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.yaml
> >>> new file mode 100644
> >>> index 000000000000..7eb852be02c1
> >>> --- /dev/null
> >>> +++ b/Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.yaml
> >>> @@ -0,0 +1,69 @@
> >>> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> >>> +%YAML 1.2
> >>> +---
> >>> +$id: http://devicetree.org/schemas/arm/msm/qcom,kpss-gcc.yaml#
> >>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> >>> +
> >>> +title: Krait Processor Sub-system (KPSS) Global Clock Controller (GCC)
> >>> +
> >>> +maintainers:
> >>> +  - Ansuel Smith <ansuelsmth@gmail.com>
> >>> +
> >>> +description: |
> >>> +  Krait Processor Sub-system (KPSS) Global Clock Controller (GCC). Used
> >>> +  to control L2 mux (in the current implementation).
> >>> +
> >>> +properties:
> >>> +  compatible:
> >>> +    items:
> >>> +      - enum:
> >>> +          - qcom,kpss-gcc-ipq8064
> >>> +          - qcom,kpss-gcc-apq8064
> >>> +          - qcom,kpss-gcc-msm8974
> >>> +          - qcom,kpss-gcc-msm8960
> >>> +      - const: qcom,kpss-gcc
> >>> +      - const: syscon
> >>
> >> There was no syscon here before. This is not explained in commit msg or
> >> patch history, while I asked to document explicitly any deviation from
> >> the conversion.
> >>
> >> This is not how the process works. You keep making silent/hidden changes
> >> to the bindings and to the patch submission process. It's difficult to
> >> review and it is even more difficult to trust you that you implement
> >> what we ask for. You keep resending versions of the patchset the same
> >> day (two versions yesterday, shortly after another one) which does not
> >> give time to react and review. Plus then you hide some more changes to
> >> regular conversion without explaining them.
> >>
> >> NAK. It's really bad process. :(
> >>
> >>
> >> Best regards,
> >> Krzysztof
> > 
> > The thing is that i'm trying to fix all the mess of years of keeping bad
> > Documentation and having dts that never followed Documentation. It's
> > really nothing silent/hidden. You add review tag to a patch? That won't
> > change. The bot alert me of some bugs? I push another revision with the
> > bug fixed. 
> 
> It does not necessarily mean that bindings are bad and such changes
> should be documented.
> 
> > (I understand I should not send that much revision in the
> > same day but still considering the slow process of reviewing the c code,
> > I prefer to keep the Documentation part correct and ready)
> 
> Rob also pointed to this - sending two versions of this huge patchset
> the same day is way too much.
>

You are totally right. I understand now the problem.

> > 
> > If you notice the changes across the different patch, it's very minimal
> > and 99% of it has not changed. Nothing silent just me addressing warning
> > from the bot. About the trust issue...
> > Is it really a syscon addition that bad? Again the original
> > Documentation was just bad so why should we care to have a 100% 1:1
> > conversion if it should have been not accepted in the first place.
> 
> Does not have to be 100% but deviations should be either expected or
> explained. Bindings are used also outside of Linux kernel.
> 
> > The addition of this new syscon is because in the current dtsi it's
> > there and I assume it's there as this is a global accessor and probably
> > other driver would access the same regs (so it's also a syscon)
> 
> If these are assumptions, then they need to be checked. If these were
> new bindings, we would discuss/check the need of syscon. Now we do not
> question existing properties, because they were accepted. But syscon
> compatible was not accepted, so putting it here requires our acknowledgment.
> 

About this I have a question. If the dts already have some binding and
the Documentation doesn't have them. Should the dts have priority or the
Documentation?
In the case where we can't prove that syscon is needed (for example), can
we remove it from dts (and accept to have inconsistency while the dts
changes are merged) or we should add the extra binding to the
Documentation putting some comments about it and discussing the
inclusion? 

> The bindings are probably pure junk, so this is not merely a conversion
> how you wrote in commit msg. This is rework of the bindings. Don't hide
> rework under "conversion". Conversion is TXT->YAML without any changes...
> 

Ok, thanks for the clarification. I still think should be handled with
conversion + additional commit to add the missing part so I have to fix
my wrong commits.

> I asked about this before and the only part you added to commit msg was
> "clock-cells". And now I see syscon - so isn't it a bit surprising?
> 

You are right... I will just do the 1:1 conversion and put all these
addition to a separate commit to make them clear.

> > 
> > I understand the complain about putting too much revision... But NAK
> > this cause I'm trying to fix all this mess just because more and more
> > problems are coming up and I'm trying to fix them. It's a bit sad.
> 
> Why you cannot test your changes and fix them all before sending sixth
> version? Why the bot has to test your code, not you?
> 

I'm aksed Rob if there is a quicker way to test single Documenation and
dts but it's my fault anyway.

> > Hope you can understand that it's not my interest to push silent changes
> > or other nasty stuff. It's just me fixing the mess and trying to at
> > least have the Documentation part ready while I wait for c code review.
> Best regards,
> Krzysztof

-- 
	Ansuel

  reply	other threads:[~2022-03-23 11:04 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-21 23:15 [PATCH v6 00/18] Modernize rest of the krait drivers Ansuel Smith
2022-03-21 23:15 ` [PATCH v6 01/18] clk: introduce clk_hw_get_index_of_parent new API Ansuel Smith
2022-03-25  1:21   ` Stephen Boyd
2022-03-21 23:15 ` [PATCH v6 02/18] clk: qcom: gcc-ipq806x: skip pxo/cxo fixed clk if already present Ansuel Smith
2022-03-25  1:11   ` Stephen Boyd
2022-03-21 23:15 ` [PATCH v6 03/18] clk: qcom: gcc-ipq806x: add PXO_SRC in clk table Ansuel Smith
2022-03-25  1:10   ` Stephen Boyd
2022-03-25  1:13     ` Ansuel Smith
2022-03-25  1:22       ` Stephen Boyd
2022-04-13 17:00         ` Ansuel Smith
2022-04-13 17:32           ` Dmitry Baryshkov
2022-04-13 17:54             ` Ansuel Smith
2022-04-13 20:01               ` Dmitry Baryshkov
2022-03-21 23:15 ` [PATCH v6 04/18] clk: qcom: clk-hfpll: use poll_timeout macro Ansuel Smith
2022-03-25  1:09   ` Stephen Boyd
2022-03-21 23:15 ` [PATCH v6 05/18] clk: qcom: kpss-xcc: convert to parent data API Ansuel Smith
2022-03-25  1:06   ` Stephen Boyd
2022-03-25  1:10     ` Ansuel Smith
2022-04-13 19:38   ` Dmitry Baryshkov
2022-03-21 23:15 ` [PATCH v6 06/18] clk: qcom: clk-krait: unlock spin after mux completion Ansuel Smith
2022-03-25  1:04   ` Stephen Boyd
2022-03-21 23:15 ` [PATCH v6 07/18] clk: qcom: clk-krait: add hw_parent check for div2_round_rate Ansuel Smith
2022-03-21 23:15 ` [PATCH v6 08/18] clk: qcom: krait-cc: convert to parent_data API Ansuel Smith
2022-03-21 23:15 ` [PATCH v6 09/18] clk: qcom: krait-cc: drop pr_info and register qsb only if needed Ansuel Smith
2022-04-13 19:40   ` Dmitry Baryshkov
2022-03-21 23:15 ` [PATCH v6 10/18] clk: qcom: krait-cc: drop hardcoded safe_sel Ansuel Smith
2022-04-13 17:25   ` Dmitry Baryshkov
2022-04-13 17:35     ` Ansuel Smith
2022-04-13 18:24       ` Dmitry Baryshkov
2022-03-21 23:15 ` [PATCH v6 11/18] clk: qcom: krait-cc: force sec_mux to QSB Ansuel Smith
2022-03-21 23:15 ` [PATCH v6 12/18] clk: qcom: clk-krait: add apq/ipq8064 errata workaround Ansuel Smith
2022-03-21 23:15 ` [PATCH v6 13/18] clk: qcom: clk-krait: add enable disable ops Ansuel Smith
2022-04-13 17:28   ` Dmitry Baryshkov
2022-03-21 23:15 ` [PATCH v6 14/18] dt-bindings: clock: Convert qcom,krait-cc to yaml Ansuel Smith
2022-03-21 23:15 ` [PATCH v6 15/18] dt-bindings: clock: Add L2 clocks to qcom,krait-cc Documentation Ansuel Smith
2022-03-23 15:27   ` Rob Herring
2022-03-21 23:15 ` [PATCH v6 16/18] dt-bindings: arm: msm: Convert kpss-acc driver Documentation to yaml Ansuel Smith
2022-03-22 10:11   ` Krzysztof Kozlowski
2022-03-21 23:15 ` [PATCH v6 17/18] dt-bindings: arm: msm: Convert kpss-gcc " Ansuel Smith
2022-03-22  1:50   ` Rob Herring
2022-03-23 10:29     ` Ansuel Smith
2022-03-23 13:19       ` Rob Herring
2022-03-22 10:07   ` Krzysztof Kozlowski
2022-03-22 13:26     ` Ansuel Smith
2022-03-23  9:59       ` Krzysztof Kozlowski
2022-03-23 11:03         ` Ansuel Smith [this message]
2022-03-23 14:19           ` Krzysztof Kozlowski
2022-03-21 23:15 ` [PATCH v6 18/18] ARM: dts: qcom: qcom-ipq8064: add missing krait-cc compatible and clocks Ansuel Smith
2022-03-22 10:01   ` Krzysztof Kozlowski
2022-03-22  1:56 ` [PATCH v6 00/18] Modernize rest of the krait drivers Rob Herring
2022-03-22 13:43   ` Ansuel Smith
2022-04-13 17:31 ` Dmitry Baryshkov
2022-04-13 17:48   ` Ansuel Smith
2022-04-13 19:49     ` Dmitry Baryshkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Yjr+nHBFqNqMV+v0@Ansuel-xps.localdomain \
    --to=ansuelsmth@gmail.com \
    --cc=agross@kernel.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=krzk@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mturquette@baylibre.com \
    --cc=robh+dt@kernel.org \
    --cc=sboyd@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.