From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id D660E21ADDB; Mon, 13 Jan 2025 10:57:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736765877; cv=none; b=Mncu0hsnVjdW2IFJYN4v4ZV5V7yKBA4JTq0wFR2Xk7zf+F+9Fa1cjPCjQM6EHujTiCArjo3cbtJ4buFJkBv1Qlty6qUX7hqfTQD6/oFNfTaGKSNOtf4UMcfsVW8jKhRwNAIjMZzITNfKt7kc0+UAvTbDmm0H7Dz9lzNyepD8i+0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736765877; c=relaxed/simple; bh=BATHPOH1ZF+4sDXVwdaVfLqUINhlCzVJAIGqneFqunk=; h=Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=t83s0PUzLlKNmAdlMeD6nRfqx/OdO7w5AAYnVBiGxDK3QBCVl+r4B5oAN7yvMtHLvOphwdsssDnh6l9NcJYHP9EmsnduRyReqicwOQmOpX8/Zv1sXYih5dYEUIYBNvRbj7Ow54M+KS2Wg9VLkF3a2pu5+XkbQsMtump9BCjik/E= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; arc=none smtp.client-ip=217.140.110.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 840A31424; Mon, 13 Jan 2025 02:58:22 -0800 (PST) Received: from donnerap.manchester.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 3FFBB3F66E; Mon, 13 Jan 2025 02:57:49 -0800 (PST) Date: Mon, 13 Jan 2025 10:57:44 +0000 From: Andre Przywara To: Chen-Yu Tsai Cc: Krzysztof Kozlowski , Andras Szemzo , Michael Turquette , Stephen Boyd , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jernej Skrabec , Samuel Holland , Linus Walleij , Philipp Zabel , Maxime Ripard , Vinod Koul , Kishon Vijay Abraham I , Ulf Hansson , Paul Walmsley , Palmer Dabbelt , Albert Ou , Uwe =?UTF-8?B?S2xlaW5lLUvDtm5pZw==?= , Florian Fainelli , , , , , , , , , Subject: Re: [PATCH 06/12] dt-bindings: clk: sunxi-ng: add V853 CCU clock/reset Message-ID: <20250113105744.6f7a47b9@donnerap.manchester.arm.com> In-Reply-To: References: <20250110123923.270626-1-szemzo.andras@gmail.com> <20250110123923.270626-7-szemzo.andras@gmail.com> Organization: ARM X-Mailer: Claws Mail 3.18.0 (GTK+ 2.24.32; aarch64-unknown-linux-gnu) Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Mon, 13 Jan 2025 16:45:10 +0800 Chen-Yu Tsai wrote: > On Mon, Jan 13, 2025 at 4:21=E2=80=AFPM Krzysztof Kozlowski wrote: > > > > On 13/01/2025 09:06, Chen-Yu Tsai wrote: =20 > > > On Fri, Jan 10, 2025 at 9:56=E2=80=AFPM Krzysztof Kozlowski wrote: =20 > > >> > > >> On 10/01/2025 13:39, Andras Szemzo wrote: =20 > > >>> As the device tree needs the clock/reset indices, add them to DT bi= nding > > >>> headers. > > >>> > > >>> Signed-off-by: Andras Szemzo =20 > > >> > > >> That's never a separate commit from the binding. > > >> > > >> > > >> ... > > >> =20 > > >>> --- /dev/null > > >>> +++ b/include/dt-bindings/clock/sun8i-v853-r-ccu.h > > >>> @@ -0,0 +1,16 @@ > > >>> +/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */ > > >>> +/* Copyright(c) 2020 - 2023 Allwinner Technology Co.,Ltd. All righ= ts reserved. > > >>> + * > > >>> + * Copyright (C) 2023 rengaomin@allwinnertech.com > > >>> + */ > > >>> +#ifndef _DT_BINDINGS_CLK_SUN8I_V85X_R_CCU_H_ > > >>> +#define _DT_BINDINGS_CLK_SUN8I_V85X_R_CCU_H_ > > >>> + > > >>> +#define CLK_R_TWD 0 > > >>> +#define CLK_R_PPU 1 > > >>> +#define CLK_R_RTC 2 > > >>> +#define CLK_R_CPUCFG 3 > > >>> + > > >>> +#define CLK_R_MAX_NO (CLK_R_CPUCFG + 1) =20 > > >> > > >> Nope, drop. Not a binding. > > >> =20 > > >>> + > > >>> +#endif > > >>> diff --git a/include/dt-bindings/reset/sun8i-v853-ccu.h b/include/d= t-bindings/reset/sun8i-v853-ccu.h > > >>> new file mode 100644 > > >>> index 000000000000..89d94fcbdb55 > > >>> --- /dev/null > > >>> +++ b/include/dt-bindings/reset/sun8i-v853-ccu.h > > >>> @@ -0,0 +1,62 @@ > > >>> +/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */ =20 > > >> > > >> Odd license. Did you copy the file with such license from the downst= ream? =20 > > > > > > AFAIK all the existing sunxi clock / reset binding header files are > > > dual licensed. OOTH all the YAML files are GPL 2.0 only. > > > > > > IIRC we started out GPL 2.0 only, but then figured that the header fi= les > > > couldn't be shared with non-GPL projects, so we changed those to dual > > > license. > > > > > > Hope that explains the current situation. Relicensing the whole lot > > > to just MIT or BSD is probably doable. =20 > > That's not what the comment is about. Dual license, as expressed by > > submitting bindings/patches and enforced by checkpatch are expected. But > > not GPLv3, GPLv4 and GPLv10. =20 >=20 > I take back my statement. It seems we have a lot of GPLv2 or later going = on. >=20 > include/dt-bindings/clock/sun20i-d1-ccu.h:/* SPDX-License-Identifier: > (GPL-2.0+ OR MIT) */ > include/dt-bindings/clock/sun20i-d1-r-ccu.h:/* > SPDX-License-Identifier: (GPL-2.0+ OR MIT) */ > include/dt-bindings/clock/sun50i-a100-ccu.h:/* > SPDX-License-Identifier: (GPL-2.0+ OR MIT) */ > include/dt-bindings/clock/sun50i-a100-r-ccu.h:/* > SPDX-License-Identifier: GPL-2.0 */ > include/dt-bindings/clock/sun50i-h6-ccu.h:/* SPDX-License-Identifier: > (GPL-2.0+ OR MIT) */ > include/dt-bindings/clock/sun50i-h6-r-ccu.h:/* > SPDX-License-Identifier: GPL-2.0 */ > include/dt-bindings/clock/sun50i-h616-ccu.h:/* > SPDX-License-Identifier: (GPL-2.0+ OR MIT) */ > include/dt-bindings/clock/sun5i-ccu.h:/* SPDX-License-Identifier: > GPL-2.0-or-later */ > include/dt-bindings/clock/sun6i-rtc.h:/* SPDX-License-Identifier: > (GPL-2.0+ OR MIT) */ > include/dt-bindings/clock/sun8i-de2.h: * SPDX-License-Identifier: > (GPL-2.0+ OR MIT) > include/dt-bindings/clock/sun8i-tcon-top.h:/* SPDX-License-Identifier: > (GPL-2.0+ OR MIT) */ > include/dt-bindings/clock/suniv-ccu-f1c100s.h:/* > SPDX-License-Identifier: (GPL-2.0+ OR MIT) > include/dt-bindings/reset/sun20i-d1-ccu.h:/* SPDX-License-Identifier: > (GPL-2.0+ OR MIT) */ > include/dt-bindings/reset/sun20i-d1-r-ccu.h:/* > SPDX-License-Identifier: (GPL-2.0+ OR MIT) */ > include/dt-bindings/reset/sun50i-a100-ccu.h:/* > SPDX-License-Identifier: (GPL-2.0+ OR MIT) */ > include/dt-bindings/reset/sun50i-a100-r-ccu.h:/* > SPDX-License-Identifier: (GPL-2.0+ OR MIT) */ > include/dt-bindings/reset/sun50i-h6-ccu.h:/* SPDX-License-Identifier: > (GPL-2.0+ OR MIT) */ > include/dt-bindings/reset/sun50i-h6-r-ccu.h:/* > SPDX-License-Identifier: (GPL-2.0+ OR MIT) */ > include/dt-bindings/reset/sun50i-h616-ccu.h:/* > SPDX-License-Identifier: (GPL-2.0+ OR MIT) */ > include/dt-bindings/reset/sun5i-ccu.h:/* SPDX-License-Identifier: > GPL-2.0-or-later */ > include/dt-bindings/reset/sun8i-de2.h: * SPDX-License-Identifier: > (GPL-2.0+ OR MIT) > include/dt-bindings/reset/suniv-ccu-f1c100s.h:/* > SPDX-License-Identifier: (GPL-2.0+ OR MIT) >=20 > Is there a requirement that new files have to be GPL 2.0 only, not > GPL 2.0 or later? >=20 > Documentation/process/license-rules.rst says: > The license described in the COPYING file applies to the kernel source > as a whole, though individual source files can have a different license > which is required to be compatible with the GPL-2.0:: >=20 > GPL-1.0+ : GNU General Public License v1.0 or later > GPL-2.0+ : GNU General Public License v2.0 or later > ... >=20 > Aside from that, individual files can be provided under a dual license, > e.g. one of the compatible GPL variants and alternatively under a > permissive license like BSD, MIT etc. Documentation/devicetree/bindings/submitting-patches.rst overrides the general rule, for binding files, and it says (GPL-2.0-only OR BSD-2-Clause) is preferred. Also when I checked checkpatch indeed warned about this. As for the existing files: yes, many of them are not compliant atm: $ git grep -h SPDX include/dt-bindings | sort | uniq -c | sort -n | tail -13 10 /* SPDX-License-Identifier: GPL-2.0 OR MIT */ 13 /* SPDX-License-Identifier: (GPL-2.0-only OR MIT) */ 13 /* SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause */ 14 /* SPDX-License-Identifier: GPL-2.0+ 19 /* SPDX-License-Identifier: GPL-2.0 27 /* SPDX-License-Identifier: (GPL-2.0 OR MIT) */ 31 /* SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause */ 31 /* SPDX-License-Identifier: GPL-2.0-or-later */ 33 /* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */ 36 /* SPDX-License-Identifier: GPL-2.0+ */ 176 /* SPDX-License-Identifier: GPL-2.0-only */ 192 /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ 281 /* SPDX-License-Identifier: GPL-2.0 */ But for new patches we should definitely aim to be correct. Differing license requirements are one price we pay for not having a separate DT repository. Cheers, Andre