All of lore.kernel.org
 help / color / mirror / Atom feed
From: Drew Fustini <fustini@kernel.org>
To: Yao Zi <ziyao@disroot.org>
Cc: Rob Herring <robh@kernel.org>, Conor Dooley <conor+dt@kernel.org>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Michal Wilczynski <m.wilczynski@samsung.com>,
	Alexandre Ghiti <alex@ghiti.fr>,
	devicetree@vger.kernel.org, Han Gao <gaohan@iscas.ac.cn>,
	Han Gao <rabenda.cn@gmail.com>,
	linux-kernel@vger.kernel.org, Guo Ren <guoren@kernel.org>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	linux-riscv@lists.infradead.org, Fu Wei <wefu@redhat.com>
Subject: Re: [PATCH v2 2/5] dt-bindings: reset: thead,th1520-reset: Add controllers for more subsys
Date: Fri, 3 Oct 2025 15:46:17 -0700	[thread overview]
Message-ID: <aOBSOZzOAeelS6Gi@x1> (raw)
In-Reply-To: <20250915095331.53350-3-ziyao@disroot.org>

On Mon, Sep 15, 2025 at 09:53:28AM +0000, Yao Zi wrote:
> TH1520 SoC is divided into several subsystems, most of them have
> distinct reset controllers. Let's document reset controllers other than
> the one for VO subsystem and IDs for their reset signals.
> 
> Signed-off-by: Yao Zi <ziyao@disroot.org>

Thanks for sending these patches.

> ---
>  .../bindings/reset/thead,th1520-reset.yaml    |   8 +-
>  .../dt-bindings/reset/thead,th1520-reset.h    | 216 ++++++++++++++++++
>  2 files changed, 223 insertions(+), 1 deletion(-)
> 
[snip]
> diff --git a/include/dt-bindings/reset/thead,th1520-reset.h b/include/dt-bindings/reset/thead,th1520-reset.h
> index e51d6314d131..68ac52ed69de 100644
> --- a/include/dt-bindings/reset/thead,th1520-reset.h
> +++ b/include/dt-bindings/reset/thead,th1520-reset.h
> @@ -7,6 +7,200 @@
>  #ifndef _DT_BINDINGS_TH1520_RESET_H
>  #define _DT_BINDINGS_TH1520_RESET_H
[snip]
> +/* DSP Subsystem */
> +#define TH1520_RESET_ID_X2X_DSP1	0
> +#define TH1520_RESET_ID_X2X_DSP0	1
> +#define TH1520_RESET_ID_X2X_SLAVE_DSP1	2
> +#define TH1520_RESET_ID_X2X_SLAVE_DSP0	3
> +#define TH1520_RESET_ID_DSP0_CORE	4
> +#define TH1520_RESET_ID_DSP0_DEBUG	5
> +#define TH1520_RESET_ID_DSP0_APB	6
> +#define TH1520_RESET_ID_DSP1_CORE	4
> +#define TH1520_RESET_ID_DSP1_DEBUG	5
> +#define TH1520_RESET_ID_DSP1_APB	6
> +#define TH1520_RESET_ID_DSPSYS_APB	7
> +#define TH1520_RESET_ID_AXI4_DSPSYS_SLV	8
> +#define TH1520_RESET_ID_AXI4_DSPSYS	9
> +#define TH1520_RESET_ID_AXI4_DSP_RS	10

This doesn't seem right. The numbers for each subsystem should not
repeat. Here the DSP0 and DSP1 items have the same numbers: 4, 5, 6.

This causes both clang and sparse to complain. I think you can just
change this so that TH1520_RESET_ID_DSP1_CORE is 7 and so on. The
indexes don't really have any concrete meaning other than how they are
used as unique keys.

The warnings:

  AR      kernel/built-in.a
  CC      drivers/reset/reset-th1520.o
drivers/reset/reset-th1520.c:655:32: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
  655 |         [TH1520_RESET_ID_DSP1_CORE] = {
      |                                       ^
  656 |                 .bit = BIT(12),
      |                 ~~~~~~~~~~~~~~~
  657 |                 .reg = TH1520_DSPSYS_RST_CFG,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  658 |         },
      |         ~
drivers/reset/reset-th1520.c:643:32: note: previous initialization is here
  643 |         [TH1520_RESET_ID_DSP0_CORE] = {
      |                                       ^
  644 |                 .bit = BIT(8),
      |                 ~~~~~~~~~~~~~~
  645 |                 .reg = TH1520_DSPSYS_RST_CFG,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  646 |         },
      |         ~
drivers/reset/reset-th1520.c:659:33: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
  659 |         [TH1520_RESET_ID_DSP1_DEBUG] = {
      |                                        ^
  660 |                 .bit = BIT(13),
      |                 ~~~~~~~~~~~~~~~
  661 |                 .reg = TH1520_DSPSYS_RST_CFG,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  662 |         },
      |         ~
drivers/reset/reset-th1520.c:647:33: note: previous initialization is here
  647 |         [TH1520_RESET_ID_DSP0_DEBUG] = {
      |                                        ^
  648 |                 .bit = BIT(9),
      |                 ~~~~~~~~~~~~~~
  649 |                 .reg = TH1520_DSPSYS_RST_CFG,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  650 |         },
      |         ~
drivers/reset/reset-th1520.c:663:31: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
  663 |         [TH1520_RESET_ID_DSP1_APB] = {
      |                                      ^
  664 |                 .bit = BIT(14),
      |                 ~~~~~~~~~~~~~~~
  665 |                 .reg = TH1520_DSPSYS_RST_CFG,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  666 |         },
      |         ~
drivers/reset/reset-th1520.c:651:31: note: previous initialization is here
  651 |         [TH1520_RESET_ID_DSP0_APB] = {
      |                                      ^
  652 |                 .bit = BIT(10),
      |                 ~~~~~~~~~~~~~~~
  653 |                 .reg = TH1520_DSPSYS_RST_CFG,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  654 |         },
      |         ~
3 warnings generated.
  CHECK   drivers/reset/reset-th1520.c
drivers/reset/reset-th1520.c:643:10: warning: Initializer entry defined twice
drivers/reset/reset-th1520.c:655:10:   also defined here


Thanks,
Drew

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

WARNING: multiple messages have this Message-ID (diff)
From: Drew Fustini <fustini@kernel.org>
To: Yao Zi <ziyao@disroot.org>
Cc: Guo Ren <guoren@kernel.org>, Fu Wei <wefu@redhat.com>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Alexandre Ghiti <alex@ghiti.fr>,
	Michal Wilczynski <m.wilczynski@samsung.com>,
	linux-riscv@lists.infradead.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, Icenowy Zheng <uwu@icenowy.me>,
	Han Gao <rabenda.cn@gmail.com>, Han Gao <gaohan@iscas.ac.cn>
Subject: Re: [PATCH v2 2/5] dt-bindings: reset: thead,th1520-reset: Add controllers for more subsys
Date: Fri, 3 Oct 2025 15:46:17 -0700	[thread overview]
Message-ID: <aOBSOZzOAeelS6Gi@x1> (raw)
In-Reply-To: <20250915095331.53350-3-ziyao@disroot.org>

On Mon, Sep 15, 2025 at 09:53:28AM +0000, Yao Zi wrote:
> TH1520 SoC is divided into several subsystems, most of them have
> distinct reset controllers. Let's document reset controllers other than
> the one for VO subsystem and IDs for their reset signals.
> 
> Signed-off-by: Yao Zi <ziyao@disroot.org>

Thanks for sending these patches.

> ---
>  .../bindings/reset/thead,th1520-reset.yaml    |   8 +-
>  .../dt-bindings/reset/thead,th1520-reset.h    | 216 ++++++++++++++++++
>  2 files changed, 223 insertions(+), 1 deletion(-)
> 
[snip]
> diff --git a/include/dt-bindings/reset/thead,th1520-reset.h b/include/dt-bindings/reset/thead,th1520-reset.h
> index e51d6314d131..68ac52ed69de 100644
> --- a/include/dt-bindings/reset/thead,th1520-reset.h
> +++ b/include/dt-bindings/reset/thead,th1520-reset.h
> @@ -7,6 +7,200 @@
>  #ifndef _DT_BINDINGS_TH1520_RESET_H
>  #define _DT_BINDINGS_TH1520_RESET_H
[snip]
> +/* DSP Subsystem */
> +#define TH1520_RESET_ID_X2X_DSP1	0
> +#define TH1520_RESET_ID_X2X_DSP0	1
> +#define TH1520_RESET_ID_X2X_SLAVE_DSP1	2
> +#define TH1520_RESET_ID_X2X_SLAVE_DSP0	3
> +#define TH1520_RESET_ID_DSP0_CORE	4
> +#define TH1520_RESET_ID_DSP0_DEBUG	5
> +#define TH1520_RESET_ID_DSP0_APB	6
> +#define TH1520_RESET_ID_DSP1_CORE	4
> +#define TH1520_RESET_ID_DSP1_DEBUG	5
> +#define TH1520_RESET_ID_DSP1_APB	6
> +#define TH1520_RESET_ID_DSPSYS_APB	7
> +#define TH1520_RESET_ID_AXI4_DSPSYS_SLV	8
> +#define TH1520_RESET_ID_AXI4_DSPSYS	9
> +#define TH1520_RESET_ID_AXI4_DSP_RS	10

This doesn't seem right. The numbers for each subsystem should not
repeat. Here the DSP0 and DSP1 items have the same numbers: 4, 5, 6.

This causes both clang and sparse to complain. I think you can just
change this so that TH1520_RESET_ID_DSP1_CORE is 7 and so on. The
indexes don't really have any concrete meaning other than how they are
used as unique keys.

The warnings:

  AR      kernel/built-in.a
  CC      drivers/reset/reset-th1520.o
drivers/reset/reset-th1520.c:655:32: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
  655 |         [TH1520_RESET_ID_DSP1_CORE] = {
      |                                       ^
  656 |                 .bit = BIT(12),
      |                 ~~~~~~~~~~~~~~~
  657 |                 .reg = TH1520_DSPSYS_RST_CFG,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  658 |         },
      |         ~
drivers/reset/reset-th1520.c:643:32: note: previous initialization is here
  643 |         [TH1520_RESET_ID_DSP0_CORE] = {
      |                                       ^
  644 |                 .bit = BIT(8),
      |                 ~~~~~~~~~~~~~~
  645 |                 .reg = TH1520_DSPSYS_RST_CFG,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  646 |         },
      |         ~
drivers/reset/reset-th1520.c:659:33: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
  659 |         [TH1520_RESET_ID_DSP1_DEBUG] = {
      |                                        ^
  660 |                 .bit = BIT(13),
      |                 ~~~~~~~~~~~~~~~
  661 |                 .reg = TH1520_DSPSYS_RST_CFG,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  662 |         },
      |         ~
drivers/reset/reset-th1520.c:647:33: note: previous initialization is here
  647 |         [TH1520_RESET_ID_DSP0_DEBUG] = {
      |                                        ^
  648 |                 .bit = BIT(9),
      |                 ~~~~~~~~~~~~~~
  649 |                 .reg = TH1520_DSPSYS_RST_CFG,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  650 |         },
      |         ~
drivers/reset/reset-th1520.c:663:31: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
  663 |         [TH1520_RESET_ID_DSP1_APB] = {
      |                                      ^
  664 |                 .bit = BIT(14),
      |                 ~~~~~~~~~~~~~~~
  665 |                 .reg = TH1520_DSPSYS_RST_CFG,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  666 |         },
      |         ~
drivers/reset/reset-th1520.c:651:31: note: previous initialization is here
  651 |         [TH1520_RESET_ID_DSP0_APB] = {
      |                                      ^
  652 |                 .bit = BIT(10),
      |                 ~~~~~~~~~~~~~~~
  653 |                 .reg = TH1520_DSPSYS_RST_CFG,
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  654 |         },
      |         ~
3 warnings generated.
  CHECK   drivers/reset/reset-th1520.c
drivers/reset/reset-th1520.c:643:10: warning: Initializer entry defined twice
drivers/reset/reset-th1520.c:655:10:   also defined here


Thanks,
Drew

  parent reply	other threads:[~2025-10-03 22:46 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-15  9:53 [PATCH v2 0/5] Add reset controllers for other TH1520 subsystems Yao Zi
2025-09-15  9:53 ` Yao Zi
2025-09-15  9:53 ` [PATCH v2 1/5] dt-bindings: reset: thead,th1520-reset: Remove non-VO-subsystem resets Yao Zi
2025-09-15  9:53   ` Yao Zi
2025-09-22 16:04   ` Rob Herring (Arm)
2025-09-22 16:04     ` Rob Herring (Arm)
2025-09-15  9:53 ` [PATCH v2 2/5] dt-bindings: reset: thead,th1520-reset: Add controllers for more subsys Yao Zi
2025-09-15  9:53   ` Yao Zi
2025-09-22 16:05   ` Rob Herring (Arm)
2025-09-22 16:05     ` Rob Herring (Arm)
2025-10-03 22:46   ` Drew Fustini [this message]
2025-10-03 22:46     ` Drew Fustini
2025-10-04  2:21     ` Yao Zi
2025-10-04  2:21       ` Yao Zi
2025-10-04 22:15       ` Drew Fustini
2025-10-04 22:15         ` Drew Fustini
2025-10-14  9:49         ` Yao Zi
2025-10-14  9:49           ` Yao Zi
2025-09-15  9:53 ` [PATCH v2 3/5] reset: th1520: Prepare for supporting multiple controllers Yao Zi
2025-09-15  9:53   ` Yao Zi
2025-09-15  9:53 ` [PATCH v2 4/5] reset: th1520: Support reset controllers in more subsystems Yao Zi
2025-09-15  9:53   ` Yao Zi
2025-09-15  9:57 ` [PATCH v2 5/5] riscv: dts: thead: Add reset controllers of more subsystems for TH1520 Yao Zi
2025-09-15  9:57   ` Yao Zi

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=aOBSOZzOAeelS6Gi@x1 \
    --to=fustini@kernel.org \
    --cc=alex@ghiti.fr \
    --cc=aou@eecs.berkeley.edu \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=gaohan@iscas.ac.cn \
    --cc=guoren@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=m.wilczynski@samsung.com \
    --cc=p.zabel@pengutronix.de \
    --cc=palmer@dabbelt.com \
    --cc=paul.walmsley@sifive.com \
    --cc=rabenda.cn@gmail.com \
    --cc=robh@kernel.org \
    --cc=wefu@redhat.com \
    --cc=ziyao@disroot.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.