Re: [PATCH 06/12] dt-bindings: clk: sunxi-ng: add V853 CCU clock/reset

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 13 Jan 2025 16:45:10 +0800
Chen-Yu Tsai <wens@xxxxxxxx> wrote:

> On Mon, Jan 13, 2025 at 4:21 PM Krzysztof Kozlowski <krzk@xxxxxxxxxx> wrote:
> >
> > On 13/01/2025 09:06, Chen-Yu Tsai wrote:  
> > > On Fri, Jan 10, 2025 at 9:56 PM Krzysztof Kozlowski <krzk@xxxxxxxxxx> wrote:  
> > >>
> > >> On 10/01/2025 13:39, Andras Szemzo wrote:  
> > >>> As the device tree needs the clock/reset indices, add them to DT binding
> > >>> headers.
> > >>>
> > >>> Signed-off-by: Andras Szemzo <szemzo.andras@xxxxxxxxx>  
> > >>
> > >> That's never a separate commit from the binding.
> > >>
> > >>
> > >> ...
> > >>  
> > >>> --- /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 rights reserved.
> > >>> + *
> > >>> + * Copyright (C) 2023 rengaomin@xxxxxxxxxxxxxxxxx
> > >>> + */
> > >>> +#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)  
> > >>
> > >> Nope, drop. Not a binding.
> > >>  
> > >>> +
> > >>> +#endif
> > >>> diff --git a/include/dt-bindings/reset/sun8i-v853-ccu.h b/include/dt-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) */  
> > >>
> > >> Odd license. Did you copy the file with such license from the downstream?  
> > >
> > > 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 files
> > > 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.  
> > 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.  
> 
> I take back my statement. It seems we have a lot of GPLv2 or later going on.
> 
> 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)
> 
> Is there a requirement that new files have to be GPL 2.0 only, not
> GPL 2.0 or later?
> 
> 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::
> 
>     GPL-1.0+  :  GNU General Public License v1.0 or later
>     GPL-2.0+  :  GNU General Public License v2.0 or later
>     ...
> 
> 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





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux