* Re: [PATCH net 2/4] dt-bindings: net: Document fsl,erratum-a009885
From: Andrew Lunn @ 2022-01-16 21:56 UTC (permalink / raw)
To: Tobias Waldekranz
Cc: devicetree, madalin.bucur, robh+dt, paulus, kuba, netdev,
linuxppc-dev, davem
In-Reply-To: <20220116211529.25604-3-tobias@waldekranz.com>
On Sun, Jan 16, 2022 at 10:15:27PM +0100, Tobias Waldekranz wrote:
> Update FMan binding documentation with the newly added workaround for
> erratum A-009885.
>
> Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Andrew
^ permalink raw reply
* Re: [PATCH net 4/4] net/fsl: xgmac_mdio: Fix incorrect iounmap when removing module
From: Andrew Lunn @ 2022-01-16 21:54 UTC (permalink / raw)
To: Tobias Waldekranz
Cc: devicetree, madalin.bucur, robh+dt, paulus, kuba, netdev,
linuxppc-dev, davem
In-Reply-To: <20220116211529.25604-5-tobias@waldekranz.com>
On Sun, Jan 16, 2022 at 10:15:29PM +0100, Tobias Waldekranz wrote:
> As reported by sparse: In the remove path, the driver would attempt to
> unmap its own priv pointer - instead of the io memory that it mapped
> in probe.
Hi Tobias
The change itself is O.K.
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
But you could also change to devm_ so the core will handle the unmap,
it is very unlikely to unmap the wrong thing.
Andrew
^ permalink raw reply
* Re: [PATCH net 1/4] net/fsl: xgmac_mdio: Add workaround for erratum A-009885
From: Andrew Lunn @ 2022-01-16 22:02 UTC (permalink / raw)
To: Tobias Waldekranz
Cc: devicetree, madalin.bucur, robh+dt, paulus, kuba, netdev,
linuxppc-dev, davem
In-Reply-To: <20220116211529.25604-2-tobias@waldekranz.com>
On Sun, Jan 16, 2022 at 10:15:26PM +0100, Tobias Waldekranz wrote:
> Once an MDIO read transaction is initiated, we must read back the data
> register within 16 MDC cycles after the transaction completes. Outside
> of this window, reads may return corrupt data.
>
> Therefore, disable local interrupts in the critical section, to
> maximize the probability that we can satisfy this requirement.
Since this is for net, a Fixes: tag would be nice. Maybe that would be
for the commit which added this driver, or maybe when the DTSI files
for the SOCs which have this errata we added?
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Andrew
^ permalink raw reply
* [powerpc:fixes] BUILD SUCCESS 252745240ba0ae774d2f80c5e185ed59fbc4fb41
From: kernel test robot @ 2022-01-17 2:18 UTC (permalink / raw)
To: Michael Ellerman; +Cc: linuxppc-dev
tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git fixes
branch HEAD: 252745240ba0ae774d2f80c5e185ed59fbc4fb41 powerpc/audit: Fix syscall_get_arch()
elapsed time: 733m
configs tested: 178
configs skipped: 3
The following configs have been built successfully.
More configs may be tested in the coming days.
gcc tested configs:
arm defconfig
arm64 allyesconfig
arm64 defconfig
arm allyesconfig
arm allmodconfig
i386 randconfig-c001
arm clps711x_defconfig
arc axs103_smp_defconfig
sh se7206_defconfig
m68k hp300_defconfig
powerpc sequoia_defconfig
mips maltaup_xpa_defconfig
arm viper_defconfig
sh se7712_defconfig
csky alldefconfig
powerpc mpc837x_rdb_defconfig
mips decstation_defconfig
sparc sparc64_defconfig
openrisc simple_smp_defconfig
xtensa allyesconfig
arm assabet_defconfig
mips bmips_be_defconfig
mips ip32_defconfig
sh apsh4ad0a_defconfig
mips gpr_defconfig
sparc64 defconfig
powerpc taishan_defconfig
parisc allyesconfig
xtensa cadence_csp_defconfig
mips gcw0_defconfig
powerpc eiger_defconfig
powerpc stx_gp3_defconfig
powerpc iss476-smp_defconfig
s390 zfcpdump_defconfig
powerpc tqm8548_defconfig
powerpc pcm030_defconfig
mips ar7_defconfig
sh kfr2r09-romimage_defconfig
powerpc currituck_defconfig
arm tegra_defconfig
mips decstation_r4k_defconfig
arc defconfig
sh sh03_defconfig
powerpc ppc40x_defconfig
xtensa alldefconfig
sh sh7785lcr_32bit_defconfig
mips bigsur_defconfig
parisc generic-32bit_defconfig
xtensa audio_kc705_defconfig
m68k stmark2_defconfig
m68k multi_defconfig
sh rts7751r2d1_defconfig
arm qcom_defconfig
arm at91_dt_defconfig
m68k apollo_defconfig
m68k sun3x_defconfig
s390 debug_defconfig
sh polaris_defconfig
sh ap325rxa_defconfig
sh shx3_defconfig
arc vdk_hs38_defconfig
arm h3600_defconfig
arm corgi_defconfig
powerpc redwood_defconfig
sh rts7751r2dplus_defconfig
mips cobalt_defconfig
arm pxa_defconfig
sh defconfig
mips capcella_defconfig
xtensa common_defconfig
arm randconfig-c002-20220116
ia64 defconfig
ia64 allyesconfig
ia64 allmodconfig
m68k allmodconfig
m68k defconfig
m68k allyesconfig
nios2 defconfig
arc allyesconfig
nds32 allnoconfig
csky defconfig
alpha defconfig
nds32 defconfig
alpha allyesconfig
nios2 allyesconfig
h8300 allyesconfig
sh allmodconfig
parisc defconfig
s390 allyesconfig
s390 allmodconfig
s390 defconfig
i386 allyesconfig
sparc allyesconfig
sparc defconfig
i386 defconfig
i386 debian-10.3-kselftests
i386 debian-10.3
mips allyesconfig
mips allmodconfig
powerpc allyesconfig
powerpc allmodconfig
powerpc allnoconfig
x86_64 randconfig-a006
x86_64 randconfig-a004
x86_64 randconfig-a002
i386 randconfig-a003
i386 randconfig-a001
i386 randconfig-a005
x86_64 randconfig-a012-20220117
x86_64 randconfig-a013-20220117
x86_64 randconfig-a011-20220117
x86_64 randconfig-a014-20220117
x86_64 randconfig-a015-20220117
x86_64 randconfig-a016-20220117
x86_64 randconfig-a011
x86_64 randconfig-a013
x86_64 randconfig-a015
i386 randconfig-a012
i386 randconfig-a014
i386 randconfig-a016
arc randconfig-r043-20220116
riscv nommu_k210_defconfig
riscv allyesconfig
riscv nommu_virt_defconfig
riscv allnoconfig
riscv defconfig
riscv rv32_defconfig
riscv allmodconfig
x86_64 rhel-8.3-kselftests
um i386_defconfig
um x86_64_defconfig
x86_64 allyesconfig
x86_64 defconfig
x86_64 rhel-8.3
x86_64 rhel-8.3-func
x86_64 kexec
clang tested configs:
arm randconfig-c002-20220116
x86_64 randconfig-c007
riscv randconfig-c006-20220116
powerpc randconfig-c003-20220116
i386 randconfig-c001
mips randconfig-c004-20220116
s390 randconfig-c005-20220116
powerpc icon_defconfig
mips rm200_defconfig
arm mxs_defconfig
arm mv78xx0_defconfig
arm magician_defconfig
arm colibri_pxa270_defconfig
powerpc allmodconfig
powerpc mpc832x_rdb_defconfig
mips omega2p_defconfig
powerpc gamecube_defconfig
x86_64 randconfig-a005-20220117
x86_64 randconfig-a004-20220117
x86_64 randconfig-a001-20220117
x86_64 randconfig-a006-20220117
x86_64 randconfig-a002-20220117
x86_64 randconfig-a003-20220117
x86_64 randconfig-a005
i386 randconfig-a002
i386 randconfig-a006
i386 randconfig-a004
i386 randconfig-a005-20220117
i386 randconfig-a001-20220117
i386 randconfig-a006-20220117
i386 randconfig-a004-20220117
i386 randconfig-a002-20220117
i386 randconfig-a003-20220117
x86_64 randconfig-a012
x86_64 randconfig-a014
x86_64 randconfig-a016
i386 randconfig-a011
i386 randconfig-a013
i386 randconfig-a015
x86_64 randconfig-a001
x86_64 randconfig-a003
hexagon randconfig-r045-20220116
s390 randconfig-r044-20220116
hexagon randconfig-r041-20220116
riscv randconfig-r042-20220116
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
^ permalink raw reply
* [powerpc:fixes-test] BUILD SUCCESS d37823c3528e5e0705fc7746bcbc2afffb619259
From: kernel test robot @ 2022-01-17 2:26 UTC (permalink / raw)
To: Michael Ellerman; +Cc: linuxppc-dev
tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git fixes-test
branch HEAD: d37823c3528e5e0705fc7746bcbc2afffb619259 powerpc/32s: Fix kasan_init_region() for KASAN
elapsed time: 740m
configs tested: 173
configs skipped: 3
The following configs have been built successfully.
More configs may be tested in the coming days.
gcc tested configs:
arm defconfig
arm64 allyesconfig
arm64 defconfig
arm allyesconfig
arm allmodconfig
i386 randconfig-c001
m68k hp300_defconfig
powerpc sequoia_defconfig
mips maltaup_xpa_defconfig
arm viper_defconfig
sh se7712_defconfig
csky alldefconfig
powerpc mpc837x_rdb_defconfig
xtensa allyesconfig
arm assabet_defconfig
mips bmips_be_defconfig
mips ip32_defconfig
openrisc simple_smp_defconfig
sh apsh4ad0a_defconfig
mips gpr_defconfig
sparc64 defconfig
powerpc taishan_defconfig
parisc allyesconfig
xtensa cadence_csp_defconfig
mips decstation_defconfig
powerpc tqm8548_defconfig
mips capcella_defconfig
powerpc storcenter_defconfig
sh urquell_defconfig
powerpc pcm030_defconfig
mips ar7_defconfig
sh kfr2r09-romimage_defconfig
powerpc currituck_defconfig
arm tegra_defconfig
mips decstation_r4k_defconfig
powerpc iss476-smp_defconfig
powerpc maple_defconfig
sh microdev_defconfig
sh titan_defconfig
mips vocore2_defconfig
arc defconfig
sh sh03_defconfig
powerpc ppc40x_defconfig
xtensa alldefconfig
sh sh7785lcr_32bit_defconfig
mips bigsur_defconfig
parisc generic-32bit_defconfig
xtensa audio_kc705_defconfig
powerpc stx_gp3_defconfig
m68k stmark2_defconfig
m68k multi_defconfig
sh rts7751r2d1_defconfig
arm qcom_defconfig
arm at91_dt_defconfig
m68k apollo_defconfig
m68k sun3x_defconfig
s390 debug_defconfig
sh polaris_defconfig
sh ap325rxa_defconfig
sh shx3_defconfig
arm corgi_defconfig
powerpc redwood_defconfig
sh rts7751r2dplus_defconfig
mips cobalt_defconfig
arm pxa_defconfig
sh defconfig
xtensa common_defconfig
arm randconfig-c002-20220116
ia64 defconfig
ia64 allmodconfig
ia64 allyesconfig
m68k allmodconfig
m68k defconfig
m68k allyesconfig
nios2 defconfig
arc allyesconfig
nds32 allnoconfig
nds32 defconfig
nios2 allyesconfig
csky defconfig
alpha defconfig
alpha allyesconfig
h8300 allyesconfig
sh allmodconfig
parisc defconfig
s390 allyesconfig
s390 allmodconfig
s390 defconfig
i386 allyesconfig
sparc allyesconfig
sparc defconfig
i386 defconfig
i386 debian-10.3-kselftests
i386 debian-10.3
mips allyesconfig
mips allmodconfig
powerpc allnoconfig
powerpc allmodconfig
powerpc allyesconfig
x86_64 randconfig-a004
x86_64 randconfig-a002
x86_64 randconfig-a006
i386 randconfig-a003
i386 randconfig-a001
i386 randconfig-a005
x86_64 randconfig-a011
x86_64 randconfig-a013
x86_64 randconfig-a015
x86_64 randconfig-a016-20220117
x86_64 randconfig-a012-20220117
x86_64 randconfig-a013-20220117
x86_64 randconfig-a011-20220117
x86_64 randconfig-a014-20220117
x86_64 randconfig-a015-20220117
i386 randconfig-a012
i386 randconfig-a014
i386 randconfig-a016
arc randconfig-r043-20220116
riscv nommu_k210_defconfig
riscv allyesconfig
riscv nommu_virt_defconfig
riscv allnoconfig
riscv defconfig
riscv rv32_defconfig
riscv allmodconfig
x86_64 rhel-8.3-kselftests
um x86_64_defconfig
um i386_defconfig
x86_64 allyesconfig
x86_64 defconfig
x86_64 rhel-8.3
x86_64 rhel-8.3-func
x86_64 kexec
clang tested configs:
arm randconfig-c002-20220116
x86_64 randconfig-c007
riscv randconfig-c006-20220116
powerpc randconfig-c003-20220116
i386 randconfig-c001
mips randconfig-c004-20220116
s390 randconfig-c005-20220116
mips rm200_defconfig
arm mxs_defconfig
arm mv78xx0_defconfig
powerpc g5_defconfig
powerpc mpc832x_rdb_defconfig
mips omega2p_defconfig
powerpc gamecube_defconfig
x86_64 randconfig-a005-20220117
x86_64 randconfig-a004-20220117
x86_64 randconfig-a001-20220117
x86_64 randconfig-a006-20220117
x86_64 randconfig-a002-20220117
x86_64 randconfig-a003-20220117
x86_64 randconfig-a005
x86_64 randconfig-a003
x86_64 randconfig-a001
i386 randconfig-a002
i386 randconfig-a006
i386 randconfig-a004
i386 randconfig-a005-20220117
i386 randconfig-a001-20220117
i386 randconfig-a006-20220117
i386 randconfig-a004-20220117
i386 randconfig-a002-20220117
i386 randconfig-a003-20220117
x86_64 randconfig-a012
x86_64 randconfig-a014
x86_64 randconfig-a016
i386 randconfig-a011
i386 randconfig-a013
i386 randconfig-a015
hexagon randconfig-r045-20220116
riscv randconfig-r042-20220116
hexagon randconfig-r041-20220116
s390 randconfig-r044-20220116
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
^ permalink raw reply
* [powerpc:merge] BUILD SUCCESS 863a7c25c334ed368b4508fccae92d6bb61e71a4
From: kernel test robot @ 2022-01-17 2:26 UTC (permalink / raw)
To: Michael Ellerman; +Cc: linuxppc-dev
tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git merge
branch HEAD: 863a7c25c334ed368b4508fccae92d6bb61e71a4 Automatic merge of 'master' into merge (2022-01-15 10:55)
elapsed time: 739m
configs tested: 177
configs skipped: 3
The following configs have been built successfully.
More configs may be tested in the coming days.
gcc tested configs:
arm defconfig
arm64 allyesconfig
arm64 defconfig
arm allyesconfig
arm allmodconfig
i386 randconfig-c001
m68k hp300_defconfig
powerpc sequoia_defconfig
mips maltaup_xpa_defconfig
arm viper_defconfig
sh se7712_defconfig
csky alldefconfig
powerpc mpc837x_rdb_defconfig
xtensa allyesconfig
arm assabet_defconfig
mips bmips_be_defconfig
mips ip32_defconfig
openrisc simple_smp_defconfig
sh apsh4ad0a_defconfig
mips gpr_defconfig
sparc64 defconfig
powerpc taishan_defconfig
parisc allyesconfig
xtensa cadence_csp_defconfig
mips decstation_defconfig
powerpc tqm8548_defconfig
powerpc pcm030_defconfig
mips ar7_defconfig
sh kfr2r09-romimage_defconfig
powerpc currituck_defconfig
arm tegra_defconfig
mips decstation_r4k_defconfig
powerpc iss476-smp_defconfig
powerpc maple_defconfig
sh microdev_defconfig
sh titan_defconfig
mips vocore2_defconfig
openrisc alldefconfig
mips rb532_defconfig
m68k sun3_defconfig
xtensa nommu_kc705_defconfig
arc defconfig
sh sh03_defconfig
powerpc ppc40x_defconfig
xtensa alldefconfig
sh sh7785lcr_32bit_defconfig
mips bigsur_defconfig
parisc generic-32bit_defconfig
xtensa audio_kc705_defconfig
powerpc stx_gp3_defconfig
m68k stmark2_defconfig
m68k multi_defconfig
sh rts7751r2d1_defconfig
arm qcom_defconfig
arm at91_dt_defconfig
m68k apollo_defconfig
m68k sun3x_defconfig
s390 debug_defconfig
sh polaris_defconfig
sh ap325rxa_defconfig
sh shx3_defconfig
arm corgi_defconfig
powerpc redwood_defconfig
sh rts7751r2dplus_defconfig
mips cobalt_defconfig
arm pxa_defconfig
sh defconfig
mips capcella_defconfig
xtensa common_defconfig
arm randconfig-c002-20220116
ia64 allmodconfig
ia64 defconfig
ia64 allyesconfig
m68k allmodconfig
m68k defconfig
m68k allyesconfig
nios2 defconfig
arc allyesconfig
nds32 allnoconfig
nds32 defconfig
csky defconfig
alpha defconfig
alpha allyesconfig
nios2 allyesconfig
h8300 allyesconfig
sh allmodconfig
parisc defconfig
s390 allyesconfig
s390 allmodconfig
s390 defconfig
i386 allyesconfig
sparc allyesconfig
sparc defconfig
i386 defconfig
i386 debian-10.3-kselftests
i386 debian-10.3
mips allyesconfig
mips allmodconfig
powerpc allyesconfig
powerpc allmodconfig
powerpc allnoconfig
x86_64 randconfig-a002
x86_64 randconfig-a006
x86_64 randconfig-a004
i386 randconfig-a001
i386 randconfig-a003
i386 randconfig-a005
x86_64 randconfig-a012-20220117
x86_64 randconfig-a013-20220117
x86_64 randconfig-a011-20220117
x86_64 randconfig-a015-20220117
x86_64 randconfig-a014-20220117
x86_64 randconfig-a016-20220117
x86_64 randconfig-a011
x86_64 randconfig-a013
x86_64 randconfig-a015
i386 randconfig-a012
i386 randconfig-a014
i386 randconfig-a016
arc randconfig-r043-20220116
riscv nommu_k210_defconfig
riscv allyesconfig
riscv nommu_virt_defconfig
riscv allnoconfig
riscv defconfig
riscv rv32_defconfig
riscv allmodconfig
um x86_64_defconfig
um i386_defconfig
x86_64 allyesconfig
x86_64 defconfig
x86_64 rhel-8.3
x86_64 kexec
x86_64 rhel-8.3-func
x86_64 rhel-8.3-kselftests
clang tested configs:
arm randconfig-c002-20220116
x86_64 randconfig-c007
riscv randconfig-c006-20220116
powerpc randconfig-c003-20220116
i386 randconfig-c001
mips randconfig-c004-20220116
s390 randconfig-c005-20220116
mips rm200_defconfig
arm mxs_defconfig
arm mv78xx0_defconfig
powerpc mpc8313_rdb_defconfig
mips bmips_stb_defconfig
powerpc acadia_defconfig
powerpc mpc832x_rdb_defconfig
mips omega2p_defconfig
powerpc gamecube_defconfig
arm64 allyesconfig
x86_64 randconfig-a005-20220117
x86_64 randconfig-a004-20220117
x86_64 randconfig-a001-20220117
x86_64 randconfig-a006-20220117
x86_64 randconfig-a002-20220117
x86_64 randconfig-a003-20220117
x86_64 randconfig-a001
x86_64 randconfig-a003
i386 randconfig-a002
i386 randconfig-a006
i386 randconfig-a004
i386 randconfig-a005-20220117
i386 randconfig-a001-20220117
i386 randconfig-a006-20220117
i386 randconfig-a004-20220117
i386 randconfig-a002-20220117
i386 randconfig-a003-20220117
x86_64 randconfig-a005
x86_64 randconfig-a012
x86_64 randconfig-a014
x86_64 randconfig-a016
i386 randconfig-a011
i386 randconfig-a013
i386 randconfig-a015
hexagon randconfig-r045-20220116
riscv randconfig-r042-20220116
hexagon randconfig-r041-20220116
s390 randconfig-r044-20220116
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
^ permalink raw reply
* [powerpc:next-test] BUILD SUCCESS 7773544e4027aa905e7f75752e3db619b473bd5c
From: kernel test robot @ 2022-01-17 2:26 UTC (permalink / raw)
To: Michael Ellerman; +Cc: linuxppc-dev
tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next-test
branch HEAD: 7773544e4027aa905e7f75752e3db619b473bd5c powerpc/kvm: no need to initialise statics to 0
elapsed time: 738m
configs tested: 128
configs skipped: 144
The following configs have been built successfully.
More configs may be tested in the coming days.
gcc tested configs:
arm defconfig
arm64 allyesconfig
arm64 defconfig
arm allyesconfig
arm allmodconfig
i386 randconfig-c001
m68k hp300_defconfig
powerpc sequoia_defconfig
mips maltaup_xpa_defconfig
arm viper_defconfig
powerpc mpc837x_mds_defconfig
xtensa allyesconfig
arm assabet_defconfig
mips bmips_be_defconfig
mips ip32_defconfig
openrisc simple_smp_defconfig
sparc64 defconfig
powerpc taishan_defconfig
parisc allyesconfig
xtensa cadence_csp_defconfig
powerpc eiger_defconfig
powerpc iss476-smp_defconfig
powerpc stx_gp3_defconfig
powerpc pcm030_defconfig
mips ar7_defconfig
sh kfr2r09-romimage_defconfig
powerpc currituck_defconfig
arm tegra_defconfig
mips decstation_r4k_defconfig
mips bigsur_defconfig
parisc generic-32bit_defconfig
xtensa audio_kc705_defconfig
m68k stmark2_defconfig
m68k multi_defconfig
arm corgi_defconfig
powerpc redwood_defconfig
sh rts7751r2dplus_defconfig
mips cobalt_defconfig
arm randconfig-c002-20220116
ia64 allmodconfig
ia64 defconfig
ia64 allyesconfig
m68k allmodconfig
m68k defconfig
m68k allyesconfig
nios2 defconfig
arc allyesconfig
nds32 allnoconfig
nds32 defconfig
nios2 allyesconfig
csky defconfig
alpha defconfig
alpha allyesconfig
h8300 allyesconfig
arc defconfig
sh allmodconfig
parisc defconfig
s390 allyesconfig
s390 allmodconfig
s390 defconfig
i386 allyesconfig
sparc allyesconfig
sparc defconfig
i386 defconfig
i386 debian-10.3-kselftests
i386 debian-10.3
mips allyesconfig
mips allmodconfig
powerpc allnoconfig
powerpc allmodconfig
powerpc allyesconfig
x86_64 randconfig-a006
x86_64 randconfig-a004
x86_64 randconfig-a002
x86_64 randconfig-a016-20220117
x86_64 randconfig-a012-20220117
x86_64 randconfig-a013-20220117
x86_64 randconfig-a011-20220117
x86_64 randconfig-a014-20220117
x86_64 randconfig-a015-20220117
i386 randconfig-a012
i386 randconfig-a014
i386 randconfig-a016
riscv nommu_k210_defconfig
riscv allyesconfig
riscv nommu_virt_defconfig
riscv allnoconfig
riscv defconfig
riscv rv32_defconfig
riscv allmodconfig
um x86_64_defconfig
um i386_defconfig
x86_64 allyesconfig
x86_64 rhel-8.3-kselftests
x86_64 defconfig
x86_64 rhel-8.3
x86_64 rhel-8.3-func
x86_64 kexec
clang tested configs:
arm randconfig-c002-20220116
x86_64 randconfig-c007
riscv randconfig-c006-20220116
powerpc randconfig-c003-20220116
i386 randconfig-c001
mips randconfig-c004-20220116
s390 randconfig-c005-20220116
powerpc icon_defconfig
mips rm200_defconfig
arm mxs_defconfig
arm mv78xx0_defconfig
powerpc allmodconfig
powerpc mpc832x_rdb_defconfig
mips omega2p_defconfig
powerpc gamecube_defconfig
x86_64 randconfig-a005-20220117
x86_64 randconfig-a004-20220117
x86_64 randconfig-a001-20220117
x86_64 randconfig-a006-20220117
x86_64 randconfig-a002-20220117
x86_64 randconfig-a003-20220117
i386 randconfig-a002
i386 randconfig-a006
i386 randconfig-a004
x86_64 randconfig-a012
x86_64 randconfig-a014
x86_64 randconfig-a016
i386 randconfig-a011
i386 randconfig-a013
i386 randconfig-a015
hexagon randconfig-r045-20220116
riscv randconfig-r042-20220116
hexagon randconfig-r041-20220116
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
^ permalink raw reply
* [PATCH v2] powerpc: Add missing SPDX license identifiers
From: Christophe Leroy @ 2022-01-17 6:41 UTC (permalink / raw)
To: Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman
Cc: Greg Kroah-Hartman, linux-kernel@vger.kernel.org,
linux-spdx@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
Thomas Gleixner
Several files are missing SPDX license identifiers.
Following files are given the following SPDX identifier based on the comments in the top of the file:
boot/crtsavres.S:/* SPDX-License-Identifier: GPL-2.0+ */
include/asm/epapr_hcalls.h:/* SPDX-License-Identifier: GPL-2.0+ OR BSD */
include/asm/fsl_hcalls.h:/* SPDX-License-Identifier: GPL-2.0+ OR BSD */
include/asm/ibmebus.h:/* SPDX-License-Identifier: GPL-2.0 OR OpenIB BSD */
include/asm/sfp-machine.h:/* SPDX-License-Identifier: LGPL-2.0+ */
kvm/mpic.c:// SPDX-License-Identifier: GPL-2.0
lib/crtsavres.S:/* SPDX-License-Identifier: GPL-2.0+ */
mm/book3s64/hash_4k.c:// SPDX-License-Identifier: LGPL-2.0
mm/book3s64/hash_64k.c:// SPDX-License-Identifier: LGPL-2.0
mm/book3s64/hash_hugepage.c:// SPDX-License-Identifier: LGPL-2.1
platforms/pseries/ibmebus.c:// SPDX-License-Identifier: GPL-2.0 OR OpenIB BSD
tools/head_check.sh:# SPDX-License-Identifier: GPL-2.0+
xmon/ppc.h:/* SPDX-License-Identifier: GPL-1.0+ */
Add to other files the default kernel license identifier, in extenso GPL-2.0.
DTS files are handled in a separate commit.
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Thomas Gleixner <gleixner@linutronix.de>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-spdx@vger.kernel.org
---
v2: Changed from GPL-2.0 to a licence consistant with the file's comments for the few files listed in the commit message.
---
arch/powerpc/Makefile | 1 +
arch/powerpc/boot/44x.h | 1 +
arch/powerpc/boot/4xx.h | 1 +
arch/powerpc/boot/crtsavres.S | 1 +
arch/powerpc/boot/dummy.c | 1 +
arch/powerpc/boot/install.sh | 1 +
arch/powerpc/boot/ops.h | 1 +
arch/powerpc/boot/serial.c | 1 +
arch/powerpc/boot/simple_alloc.c | 1 +
arch/powerpc/include/asm/8xx_immap.h | 1 +
arch/powerpc/include/asm/asm-compat.h | 1 +
arch/powerpc/include/asm/asm-const.h | 1 +
arch/powerpc/include/asm/asm-offsets.h | 1 +
arch/powerpc/include/asm/cpm.h | 1 +
arch/powerpc/include/asm/dtl.h | 1 +
arch/powerpc/include/asm/edac.h | 1 +
arch/powerpc/include/asm/ehv_pic.h | 1 +
arch/powerpc/include/asm/emergency-restart.h | 1 +
arch/powerpc/include/asm/epapr_hcalls.h | 1 +
arch/powerpc/include/asm/fixmap.h | 1 +
arch/powerpc/include/asm/floppy.h | 1 +
arch/powerpc/include/asm/fs_pd.h | 1 +
arch/powerpc/include/asm/fsl_hcalls.h | 1 +
arch/powerpc/include/asm/hydra.h | 1 +
arch/powerpc/include/asm/ibmebus.h | 1 +
arch/powerpc/include/asm/kgdb.h | 1 +
arch/powerpc/include/asm/membarrier.h | 1 +
arch/powerpc/include/asm/module.lds.h | 1 +
arch/powerpc/include/asm/mpc52xx.h | 1 +
arch/powerpc/include/asm/mpc52xx_psc.h | 1 +
arch/powerpc/include/asm/pmac_feature.h | 1 +
arch/powerpc/include/asm/ppc_asm.h | 1 +
arch/powerpc/include/asm/pte-walk.h | 1 +
arch/powerpc/include/asm/rheap.h | 1 +
arch/powerpc/include/asm/sfp-machine.h | 1 +
arch/powerpc/include/asm/vmalloc.h | 1 +
arch/powerpc/include/asm/word-at-a-time.h | 1 +
arch/powerpc/kernel/interrupt_64.S | 1 +
arch/powerpc/kernel/kgdb.c | 1 +
arch/powerpc/kernel/ptrace/ptrace.c | 1 +
arch/powerpc/kernel/ptrace/ptrace32.c | 1 +
arch/powerpc/kernel/signal.c | 1 +
arch/powerpc/kernel/signal.h | 1 +
arch/powerpc/kernel/vdso32/note.S | 1 +
arch/powerpc/kernel/vdso64/note.S | 1 +
arch/powerpc/kvm/mpic.c | 1 +
arch/powerpc/lib/crtsavres.S | 1 +
arch/powerpc/lib/restart_table.c | 1 +
arch/powerpc/lib/rheap.c | 1 +
arch/powerpc/mm/book3s64/hash_4k.c | 1 +
arch/powerpc/mm/book3s64/hash_64k.c | 1 +
arch/powerpc/mm/book3s64/hash_hugepage.c | 1 +
arch/powerpc/mm/hugetlbpage.c | 1 +
arch/powerpc/perf/req-gen/_end.h | 1 +
arch/powerpc/platforms/44x/fsp2.h | 1 +
arch/powerpc/platforms/4xx/pci.c | 1 +
arch/powerpc/platforms/4xx/pci.h | 1 +
arch/powerpc/platforms/52xx/efika.c | 1 +
arch/powerpc/platforms/52xx/mpc52xx_common.c | 1 +
arch/powerpc/platforms/52xx/mpc52xx_pci.c | 1 +
arch/powerpc/platforms/52xx/mpc52xx_pic.c | 1 +
arch/powerpc/platforms/85xx/ksi8560.c | 1 +
arch/powerpc/platforms/85xx/p1022_ds.c | 1 +
arch/powerpc/platforms/85xx/p1022_rdk.c | 1 +
arch/powerpc/platforms/8xx/ep88xc.c | 1 +
arch/powerpc/platforms/8xx/mpc86xads.h | 1 +
arch/powerpc/platforms/8xx/mpc86xads_setup.c | 1 +
arch/powerpc/platforms/8xx/mpc885ads.h | 1 +
arch/powerpc/platforms/8xx/mpc885ads_setup.c | 1 +
arch/powerpc/platforms/8xx/mpc8xx.h | 1 +
arch/powerpc/platforms/8xx/pic.c | 1 +
arch/powerpc/platforms/8xx/pic.h | 1 +
arch/powerpc/platforms/8xx/tqm8xx_setup.c | 1 +
arch/powerpc/platforms/cell/spufs/spu_restore_dump.h_shipped | 1 +
arch/powerpc/platforms/cell/spufs/spu_save_dump.h_shipped | 1 +
arch/powerpc/platforms/chrp/gg2.h | 1 +
arch/powerpc/platforms/embedded6xx/linkstation.c | 1 +
arch/powerpc/platforms/embedded6xx/ls_uart.c | 1 +
arch/powerpc/platforms/embedded6xx/mpc10x.h | 1 +
arch/powerpc/platforms/embedded6xx/storcenter.c | 1 +
arch/powerpc/platforms/microwatt/Makefile | 1 +
arch/powerpc/platforms/microwatt/setup.c | 1 +
arch/powerpc/platforms/pseries/ibmebus.c | 1 +
arch/powerpc/sysdev/cpm2.c | 1 +
arch/powerpc/sysdev/cpm2_pic.c | 1 +
arch/powerpc/sysdev/ehv_pic.c | 1 +
arch/powerpc/sysdev/ge/ge_pic.c | 1 +
arch/powerpc/sysdev/mpic.c | 1 +
arch/powerpc/sysdev/rtc_cmos_setup.c | 1 +
arch/powerpc/tools/ci-build.sh | 1 +
arch/powerpc/tools/head_check.sh | 1 +
arch/powerpc/xmon/ppc.h | 1 +
92 files changed, 92 insertions(+)
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index 5f16ac1583c5..b0298c5a78d3 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: GPL-2.0
# This file is included by the global makefile so that you can add your own
# architecture-specific flags and dependencies.
#
diff --git a/arch/powerpc/boot/44x.h b/arch/powerpc/boot/44x.h
index 02563443788a..16a4c47c8c41 100644
--- a/arch/powerpc/boot/44x.h
+++ b/arch/powerpc/boot/44x.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
/*
* PowerPC 44x related functions
*
diff --git a/arch/powerpc/boot/4xx.h b/arch/powerpc/boot/4xx.h
index 7dc5d45361bc..f13267f67155 100644
--- a/arch/powerpc/boot/4xx.h
+++ b/arch/powerpc/boot/4xx.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
/*
* PowerPC 4xx related functions
*
diff --git a/arch/powerpc/boot/crtsavres.S b/arch/powerpc/boot/crtsavres.S
index 085fb2b9a8b8..a39fabab50f4 100644
--- a/arch/powerpc/boot/crtsavres.S
+++ b/arch/powerpc/boot/crtsavres.S
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
/*
* Special support for eabi and SVR4
*
diff --git a/arch/powerpc/boot/dummy.c b/arch/powerpc/boot/dummy.c
index 31dbf45bf99c..3f9ccbf52783 100644
--- a/arch/powerpc/boot/dummy.c
+++ b/arch/powerpc/boot/dummy.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
int main(void)
{
return 0;
diff --git a/arch/powerpc/boot/install.sh b/arch/powerpc/boot/install.sh
index 14473150ddb4..62479150e772 100644
--- a/arch/powerpc/boot/install.sh
+++ b/arch/powerpc/boot/install.sh
@@ -1,4 +1,5 @@
#!/bin/sh
+# SPDX-License-Identifier: GPL-2.0
#
# This file is subject to the terms and conditions of the GNU General Public
# License. See the file "COPYING" in the main directory of this archive
diff --git a/arch/powerpc/boot/ops.h b/arch/powerpc/boot/ops.h
index 6455fc9a244f..eafdb44bb6ed 100644
--- a/arch/powerpc/boot/ops.h
+++ b/arch/powerpc/boot/ops.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
/*
* Global definition of all the bootwrapper operations.
*
diff --git a/arch/powerpc/boot/serial.c b/arch/powerpc/boot/serial.c
index 54d2522be485..8aebbeda735c 100644
--- a/arch/powerpc/boot/serial.c
+++ b/arch/powerpc/boot/serial.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Generic serial console support
*
diff --git a/arch/powerpc/boot/simple_alloc.c b/arch/powerpc/boot/simple_alloc.c
index 65ec135d0157..5b3c2fb16860 100644
--- a/arch/powerpc/boot/simple_alloc.c
+++ b/arch/powerpc/boot/simple_alloc.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Implement primitive realloc(3) functionality.
*
diff --git a/arch/powerpc/include/asm/8xx_immap.h b/arch/powerpc/include/asm/8xx_immap.h
index bdf0563ba423..0cd91d52e3fd 100644
--- a/arch/powerpc/include/asm/8xx_immap.h
+++ b/arch/powerpc/include/asm/8xx_immap.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
/*
* MPC8xx Internal Memory Map
* Copyright (c) 1997 Dan Malek (dmalek@jlc.net)
diff --git a/arch/powerpc/include/asm/asm-compat.h b/arch/powerpc/include/asm/asm-compat.h
index 2b736d9fbb1b..a6cdaf40d7b4 100644
--- a/arch/powerpc/include/asm/asm-compat.h
+++ b/arch/powerpc/include/asm/asm-compat.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _ASM_POWERPC_ASM_COMPAT_H
#define _ASM_POWERPC_ASM_COMPAT_H
diff --git a/arch/powerpc/include/asm/asm-const.h b/arch/powerpc/include/asm/asm-const.h
index bfb3c3534877..922ba500c3f2 100644
--- a/arch/powerpc/include/asm/asm-const.h
+++ b/arch/powerpc/include/asm/asm-const.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _ASM_POWERPC_ASM_CONST_H
#define _ASM_POWERPC_ASM_CONST_H
diff --git a/arch/powerpc/include/asm/asm-offsets.h b/arch/powerpc/include/asm/asm-offsets.h
index d370ee36a182..9f8535716392 100644
--- a/arch/powerpc/include/asm/asm-offsets.h
+++ b/arch/powerpc/include/asm/asm-offsets.h
@@ -1 +1,2 @@
+/* SPDX-License-Identifier: GPL-2.0 */
#include <generated/asm-offsets.h>
diff --git a/arch/powerpc/include/asm/cpm.h b/arch/powerpc/include/asm/cpm.h
index ce483b0f8a4d..475781aa71c5 100644
--- a/arch/powerpc/include/asm/cpm.h
+++ b/arch/powerpc/include/asm/cpm.h
@@ -1 +1,2 @@
+/* SPDX-License-Identifier: GPL-2.0 */
#include <soc/fsl/cpm.h>
diff --git a/arch/powerpc/include/asm/dtl.h b/arch/powerpc/include/asm/dtl.h
index 1625888f27ef..1368c2963dfd 100644
--- a/arch/powerpc/include/asm/dtl.h
+++ b/arch/powerpc/include/asm/dtl.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _ASM_POWERPC_DTL_H
#define _ASM_POWERPC_DTL_H
diff --git a/arch/powerpc/include/asm/edac.h b/arch/powerpc/include/asm/edac.h
index 5571e23d253e..d10e4ea565bb 100644
--- a/arch/powerpc/include/asm/edac.h
+++ b/arch/powerpc/include/asm/edac.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
/*
* PPC EDAC common defs
*
diff --git a/arch/powerpc/include/asm/ehv_pic.h b/arch/powerpc/include/asm/ehv_pic.h
index dc7d48e3ea90..fecf32db2014 100644
--- a/arch/powerpc/include/asm/ehv_pic.h
+++ b/arch/powerpc/include/asm/ehv_pic.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
/*
* EHV_PIC private definitions and structure.
*
diff --git a/arch/powerpc/include/asm/emergency-restart.h b/arch/powerpc/include/asm/emergency-restart.h
index 3711bd9d50bd..ba702050dced 100644
--- a/arch/powerpc/include/asm/emergency-restart.h
+++ b/arch/powerpc/include/asm/emergency-restart.h
@@ -1 +1,2 @@
+/* SPDX-License-Identifier: GPL-2.0 */
#include <asm-generic/emergency-restart.h>
diff --git a/arch/powerpc/include/asm/epapr_hcalls.h b/arch/powerpc/include/asm/epapr_hcalls.h
index c99ba08a408d..a53c5c3873a0 100644
--- a/arch/powerpc/include/asm/epapr_hcalls.h
+++ b/arch/powerpc/include/asm/epapr_hcalls.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0+ OR BSD */
/*
* ePAPR hcall interface
*
diff --git a/arch/powerpc/include/asm/fixmap.h b/arch/powerpc/include/asm/fixmap.h
index 947b5b9c4424..62d1ba66ea7d 100644
--- a/arch/powerpc/include/asm/fixmap.h
+++ b/arch/powerpc/include/asm/fixmap.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
/*
* fixmap.h: compile-time virtual memory allocation
*
diff --git a/arch/powerpc/include/asm/floppy.h b/arch/powerpc/include/asm/floppy.h
index f8ce178b43b7..d84e3ef8ed4b 100644
--- a/arch/powerpc/include/asm/floppy.h
+++ b/arch/powerpc/include/asm/floppy.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
/*
* Architecture specific parts of the Floppy driver
*
diff --git a/arch/powerpc/include/asm/fs_pd.h b/arch/powerpc/include/asm/fs_pd.h
index 8def56ec05c6..ae13bdea65d5 100644
--- a/arch/powerpc/include/asm/fs_pd.h
+++ b/arch/powerpc/include/asm/fs_pd.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
/*
* Platform information definitions.
*
diff --git a/arch/powerpc/include/asm/fsl_hcalls.h b/arch/powerpc/include/asm/fsl_hcalls.h
index b889d13547fd..6b3808c744a1 100644
--- a/arch/powerpc/include/asm/fsl_hcalls.h
+++ b/arch/powerpc/include/asm/fsl_hcalls.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0+ OR BSD */
/*
* Freescale hypervisor call interface
*
diff --git a/arch/powerpc/include/asm/hydra.h b/arch/powerpc/include/asm/hydra.h
index d024447283a0..94cce3047058 100644
--- a/arch/powerpc/include/asm/hydra.h
+++ b/arch/powerpc/include/asm/hydra.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
/*
* include/asm-ppc/hydra.h -- Mac I/O `Hydra' definitions
*
diff --git a/arch/powerpc/include/asm/ibmebus.h b/arch/powerpc/include/asm/ibmebus.h
index 088f95b2e14f..016add86faae 100644
--- a/arch/powerpc/include/asm/ibmebus.h
+++ b/arch/powerpc/include/asm/ibmebus.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 OR OpenIB BSD */
/*
* IBM PowerPC eBus Infrastructure Support.
*
diff --git a/arch/powerpc/include/asm/kgdb.h b/arch/powerpc/include/asm/kgdb.h
index a9e098a3b881..28bf91f99f34 100644
--- a/arch/powerpc/include/asm/kgdb.h
+++ b/arch/powerpc/include/asm/kgdb.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
/*
* The PowerPC (32/64) specific defines / externs for KGDB. Based on
* the previous 32bit and 64bit specific files, which had the following
diff --git a/arch/powerpc/include/asm/membarrier.h b/arch/powerpc/include/asm/membarrier.h
index de7f79157918..012bba812c3a 100644
--- a/arch/powerpc/include/asm/membarrier.h
+++ b/arch/powerpc/include/asm/membarrier.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _ASM_POWERPC_MEMBARRIER_H
#define _ASM_POWERPC_MEMBARRIER_H
diff --git a/arch/powerpc/include/asm/module.lds.h b/arch/powerpc/include/asm/module.lds.h
index cea5dc124be4..a4dd672e8c6a 100644
--- a/arch/powerpc/include/asm/module.lds.h
+++ b/arch/powerpc/include/asm/module.lds.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
/* Force alignment of .toc section. */
SECTIONS
{
diff --git a/arch/powerpc/include/asm/mpc52xx.h b/arch/powerpc/include/asm/mpc52xx.h
index ce1e0aabaa64..604d6c3651e8 100644
--- a/arch/powerpc/include/asm/mpc52xx.h
+++ b/arch/powerpc/include/asm/mpc52xx.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
/*
* Prototypes, etc. for the Freescale MPC52xx embedded cpu chips
* May need to be cleaned as the port goes on ...
diff --git a/arch/powerpc/include/asm/mpc52xx_psc.h b/arch/powerpc/include/asm/mpc52xx_psc.h
index ec995b289280..d42245686250 100644
--- a/arch/powerpc/include/asm/mpc52xx_psc.h
+++ b/arch/powerpc/include/asm/mpc52xx_psc.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
/*
* include/asm-ppc/mpc52xx_psc.h
*
diff --git a/arch/powerpc/include/asm/pmac_feature.h b/arch/powerpc/include/asm/pmac_feature.h
index e08e829261b6..5fe92ff953b1 100644
--- a/arch/powerpc/include/asm/pmac_feature.h
+++ b/arch/powerpc/include/asm/pmac_feature.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
/*
* Definition of platform feature hooks for PowerMacs
*
diff --git a/arch/powerpc/include/asm/ppc_asm.h b/arch/powerpc/include/asm/ppc_asm.h
index 3c06a33b5da4..d9c6f12e6d3e 100644
--- a/arch/powerpc/include/asm/ppc_asm.h
+++ b/arch/powerpc/include/asm/ppc_asm.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
/*
* Copyright (C) 1995-1999 Gary Thomas, Paul Mackerras, Cort Dougan.
*/
diff --git a/arch/powerpc/include/asm/pte-walk.h b/arch/powerpc/include/asm/pte-walk.h
index 714a35f0d425..dc8bd55e749f 100644
--- a/arch/powerpc/include/asm/pte-walk.h
+++ b/arch/powerpc/include/asm/pte-walk.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _ASM_POWERPC_PTE_WALK_H
#define _ASM_POWERPC_PTE_WALK_H
diff --git a/arch/powerpc/include/asm/rheap.h b/arch/powerpc/include/asm/rheap.h
index 8e83703d6736..cd6455e594e4 100644
--- a/arch/powerpc/include/asm/rheap.h
+++ b/arch/powerpc/include/asm/rheap.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
/*
* include/asm-ppc/rheap.h
*
diff --git a/arch/powerpc/include/asm/sfp-machine.h b/arch/powerpc/include/asm/sfp-machine.h
index 8b957aabb826..777b339b317c 100644
--- a/arch/powerpc/include/asm/sfp-machine.h
+++ b/arch/powerpc/include/asm/sfp-machine.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: LGPL-2.0+ */
/* Machine-dependent software floating-point definitions. PPC version.
Copyright (C) 1997 Free Software Foundation, Inc.
This file is part of the GNU C Library.
diff --git a/arch/powerpc/include/asm/vmalloc.h b/arch/powerpc/include/asm/vmalloc.h
index 4c69ece52a31..6f8df6b07c8a 100644
--- a/arch/powerpc/include/asm/vmalloc.h
+++ b/arch/powerpc/include/asm/vmalloc.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _ASM_POWERPC_VMALLOC_H
#define _ASM_POWERPC_VMALLOC_H
diff --git a/arch/powerpc/include/asm/word-at-a-time.h b/arch/powerpc/include/asm/word-at-a-time.h
index f3f4710d4ff5..96245747720d 100644
--- a/arch/powerpc/include/asm/word-at-a-time.h
+++ b/arch/powerpc/include/asm/word-at-a-time.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _ASM_WORD_AT_A_TIME_H
#define _ASM_WORD_AT_A_TIME_H
diff --git a/arch/powerpc/kernel/interrupt_64.S b/arch/powerpc/kernel/interrupt_64.S
index 92088f848266..46e886c4264b 100644
--- a/arch/powerpc/kernel/interrupt_64.S
+++ b/arch/powerpc/kernel/interrupt_64.S
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
#include <asm/asm-offsets.h>
#include <asm/bug.h>
#ifdef CONFIG_PPC_BOOK3S
diff --git a/arch/powerpc/kernel/kgdb.c b/arch/powerpc/kernel/kgdb.c
index 9f8d0fa7b718..10d64d54d2a1 100644
--- a/arch/powerpc/kernel/kgdb.c
+++ b/arch/powerpc/kernel/kgdb.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* PowerPC backend to the KGDB stub.
*
diff --git a/arch/powerpc/kernel/ptrace/ptrace.c b/arch/powerpc/kernel/ptrace/ptrace.c
index 7c7093c17c45..0be1c76a0e65 100644
--- a/arch/powerpc/kernel/ptrace/ptrace.c
+++ b/arch/powerpc/kernel/ptrace/ptrace.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* PowerPC version
* Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org)
diff --git a/arch/powerpc/kernel/ptrace/ptrace32.c b/arch/powerpc/kernel/ptrace/ptrace32.c
index 19c224808982..adffe6f1e7d8 100644
--- a/arch/powerpc/kernel/ptrace/ptrace32.c
+++ b/arch/powerpc/kernel/ptrace/ptrace32.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* ptrace for 32-bit processes running on a 64-bit kernel.
*
diff --git a/arch/powerpc/kernel/signal.c b/arch/powerpc/kernel/signal.c
index b93b87df499d..d541b6e00069 100644
--- a/arch/powerpc/kernel/signal.c
+++ b/arch/powerpc/kernel/signal.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Common signal handling code for both 32 and 64 bits
*
diff --git a/arch/powerpc/kernel/signal.h b/arch/powerpc/kernel/signal.h
index 618aeccdf691..b2e398dae4fc 100644
--- a/arch/powerpc/kernel/signal.h
+++ b/arch/powerpc/kernel/signal.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
/*
* Copyright (c) 2007 Benjamin Herrenschmidt, IBM Corporation
* Extracted from signal_32.c and signal_64.c
diff --git a/arch/powerpc/kernel/vdso32/note.S b/arch/powerpc/kernel/vdso32/note.S
index 227a7327399e..1698e72d4cbf 100644
--- a/arch/powerpc/kernel/vdso32/note.S
+++ b/arch/powerpc/kernel/vdso32/note.S
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
/*
* This supplies .note.* sections to go into the PT_NOTE inside the vDSO text.
* Here we can supply some information useful to userland.
diff --git a/arch/powerpc/kernel/vdso64/note.S b/arch/powerpc/kernel/vdso64/note.S
index dc2a509f7e8a..bd1fa23597d6 100644
--- a/arch/powerpc/kernel/vdso64/note.S
+++ b/arch/powerpc/kernel/vdso64/note.S
@@ -1 +1,2 @@
+/* SPDX-License-Identifier: GPL-2.0 */
#include "../vdso32/note.S"
diff --git a/arch/powerpc/kvm/mpic.c b/arch/powerpc/kvm/mpic.c
index 23e9c2bd9f27..e0982f87150a 100644
--- a/arch/powerpc/kvm/mpic.c
+++ b/arch/powerpc/kvm/mpic.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* OpenPIC emulation
*
diff --git a/arch/powerpc/lib/crtsavres.S b/arch/powerpc/lib/crtsavres.S
index 7e5e1c28e56a..02f4d8fb1f48 100644
--- a/arch/powerpc/lib/crtsavres.S
+++ b/arch/powerpc/lib/crtsavres.S
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
/*
* Special support for eabi and SVR4
*
diff --git a/arch/powerpc/lib/restart_table.c b/arch/powerpc/lib/restart_table.c
index bccb662c1b7b..aaf89522d23e 100644
--- a/arch/powerpc/lib/restart_table.c
+++ b/arch/powerpc/lib/restart_table.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
#include <asm/interrupt.h>
#include <asm/kprobes.h>
diff --git a/arch/powerpc/lib/rheap.c b/arch/powerpc/lib/rheap.c
index 6aa774aa5b16..4dbe073766bf 100644
--- a/arch/powerpc/lib/rheap.c
+++ b/arch/powerpc/lib/rheap.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* A Remote Heap. Remote means that we don't touch the memory that the
* heap points to. Normal heap implementations use the memory they manage
diff --git a/arch/powerpc/mm/book3s64/hash_4k.c b/arch/powerpc/mm/book3s64/hash_4k.c
index 7de1a8a0c62a..f49741c96da6 100644
--- a/arch/powerpc/mm/book3s64/hash_4k.c
+++ b/arch/powerpc/mm/book3s64/hash_4k.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: LGPL-2.0
/*
* Copyright IBM Corporation, 2015
* Author Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
diff --git a/arch/powerpc/mm/book3s64/hash_64k.c b/arch/powerpc/mm/book3s64/hash_64k.c
index 998c6817ed47..17d8b1e8d183 100644
--- a/arch/powerpc/mm/book3s64/hash_64k.c
+++ b/arch/powerpc/mm/book3s64/hash_64k.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: LGPL-2.0
/*
* Copyright IBM Corporation, 2015
* Author Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
diff --git a/arch/powerpc/mm/book3s64/hash_hugepage.c b/arch/powerpc/mm/book3s64/hash_hugepage.c
index c0fabe6c5a12..939a284e0e83 100644
--- a/arch/powerpc/mm/book3s64/hash_hugepage.c
+++ b/arch/powerpc/mm/book3s64/hash_hugepage.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: LGPL-2.1
/*
* Copyright IBM Corporation, 2013
* Author Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
diff --git a/arch/powerpc/mm/hugetlbpage.c b/arch/powerpc/mm/hugetlbpage.c
index ddead41e2194..5cdd7a587e09 100644
--- a/arch/powerpc/mm/hugetlbpage.c
+++ b/arch/powerpc/mm/hugetlbpage.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* PPC Huge TLB Page Support for Kernel.
*
diff --git a/arch/powerpc/perf/req-gen/_end.h b/arch/powerpc/perf/req-gen/_end.h
index 8a406980b6bf..6687fccd3752 100644
--- a/arch/powerpc/perf/req-gen/_end.h
+++ b/arch/powerpc/perf/req-gen/_end.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
#undef REQ_GEN_PREFIX
#undef REQUEST_BEGIN
diff --git a/arch/powerpc/platforms/44x/fsp2.h b/arch/powerpc/platforms/44x/fsp2.h
index 9e1d52754c8b..ae637bf2b58b 100644
--- a/arch/powerpc/platforms/44x/fsp2.h
+++ b/arch/powerpc/platforms/44x/fsp2.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _ASM_POWERPC_FSP_DCR_H_
#define _ASM_POWERPC_FSP_DCR_H_
#ifdef __KERNEL__
diff --git a/arch/powerpc/platforms/4xx/pci.c b/arch/powerpc/platforms/4xx/pci.c
index 24f41e178cbc..1dabc65d5b3e 100644
--- a/arch/powerpc/platforms/4xx/pci.c
+++ b/arch/powerpc/platforms/4xx/pci.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* PCI / PCI-X / PCI-Express support for 4xx parts
*
diff --git a/arch/powerpc/platforms/4xx/pci.h b/arch/powerpc/platforms/4xx/pci.h
index bb4821938ab1..364838cc90ff 100644
--- a/arch/powerpc/platforms/4xx/pci.h
+++ b/arch/powerpc/platforms/4xx/pci.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
/*
* PCI / PCI-X / PCI-Express support for 4xx parts
*
diff --git a/arch/powerpc/platforms/52xx/efika.c b/arch/powerpc/platforms/52xx/efika.c
index 3b7d70d71692..8a5563ccac30 100644
--- a/arch/powerpc/platforms/52xx/efika.c
+++ b/arch/powerpc/platforms/52xx/efika.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Efika 5K2 platform code
* Some code really inspired from the lite5200b platform.
diff --git a/arch/powerpc/platforms/52xx/mpc52xx_common.c b/arch/powerpc/platforms/52xx/mpc52xx_common.c
index 565e3a83dc9e..15608a2e8d72 100644
--- a/arch/powerpc/platforms/52xx/mpc52xx_common.c
+++ b/arch/powerpc/platforms/52xx/mpc52xx_common.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
*
* Utility functions for the Freescale MPC52xx.
diff --git a/arch/powerpc/platforms/52xx/mpc52xx_pci.c b/arch/powerpc/platforms/52xx/mpc52xx_pci.c
index af0f79995214..014e6abb10d0 100644
--- a/arch/powerpc/platforms/52xx/mpc52xx_pci.c
+++ b/arch/powerpc/platforms/52xx/mpc52xx_pci.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* PCI code for the Freescale MPC52xx embedded CPU.
*
diff --git a/arch/powerpc/platforms/52xx/mpc52xx_pic.c b/arch/powerpc/platforms/52xx/mpc52xx_pic.c
index 76a8102bdb98..3b1b3421de3c 100644
--- a/arch/powerpc/platforms/52xx/mpc52xx_pic.c
+++ b/arch/powerpc/platforms/52xx/mpc52xx_pic.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
*
* Programmable Interrupt Controller functions for the Freescale MPC52xx.
diff --git a/arch/powerpc/platforms/85xx/ksi8560.c b/arch/powerpc/platforms/85xx/ksi8560.c
index 6ef8580fdc0e..8c235d9e876a 100644
--- a/arch/powerpc/platforms/85xx/ksi8560.c
+++ b/arch/powerpc/platforms/85xx/ksi8560.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Board setup routines for the Emerson KSI8560
*
diff --git a/arch/powerpc/platforms/85xx/p1022_ds.c b/arch/powerpc/platforms/85xx/p1022_ds.c
index 1f1af0557470..4770108d2d32 100644
--- a/arch/powerpc/platforms/85xx/p1022_ds.c
+++ b/arch/powerpc/platforms/85xx/p1022_ds.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* P1022DS board specific routines
*
diff --git a/arch/powerpc/platforms/85xx/p1022_rdk.c b/arch/powerpc/platforms/85xx/p1022_rdk.c
index fd9e3e7ef234..ab12a8eb80a8 100644
--- a/arch/powerpc/platforms/85xx/p1022_rdk.c
+++ b/arch/powerpc/platforms/85xx/p1022_rdk.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* P1022 RDK board specific routines
*
diff --git a/arch/powerpc/platforms/8xx/ep88xc.c b/arch/powerpc/platforms/8xx/ep88xc.c
index ebcf34a14789..46daa968aa2d 100644
--- a/arch/powerpc/platforms/8xx/ep88xc.c
+++ b/arch/powerpc/platforms/8xx/ep88xc.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Platform setup for the Embedded Planet EP88xC board
*
diff --git a/arch/powerpc/platforms/8xx/mpc86xads.h b/arch/powerpc/platforms/8xx/mpc86xads.h
index 17b1fe75e0b2..fb3ee1fc5709 100644
--- a/arch/powerpc/platforms/8xx/mpc86xads.h
+++ b/arch/powerpc/platforms/8xx/mpc86xads.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
/*
* A collection of structures, addresses, and values associated with
* the Freescale MPC86xADS board.
diff --git a/arch/powerpc/platforms/8xx/mpc86xads_setup.c b/arch/powerpc/platforms/8xx/mpc86xads_setup.c
index 8d02f5ff4481..3676df5d6e37 100644
--- a/arch/powerpc/platforms/8xx/mpc86xads_setup.c
+++ b/arch/powerpc/platforms/8xx/mpc86xads_setup.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*arch/powerpc/platforms/8xx/mpc86xads_setup.c
*
* Platform setup for the Freescale mpc86xads board
diff --git a/arch/powerpc/platforms/8xx/mpc885ads.h b/arch/powerpc/platforms/8xx/mpc885ads.h
index 19412f76fa3b..c41f98ea1c06 100644
--- a/arch/powerpc/platforms/8xx/mpc885ads.h
+++ b/arch/powerpc/platforms/8xx/mpc885ads.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
/*
* A collection of structures, addresses, and values associated with
* the Freescale MPC885ADS board.
diff --git a/arch/powerpc/platforms/8xx/mpc885ads_setup.c b/arch/powerpc/platforms/8xx/mpc885ads_setup.c
index a0c83c1905c6..5946f86d38f1 100644
--- a/arch/powerpc/platforms/8xx/mpc885ads_setup.c
+++ b/arch/powerpc/platforms/8xx/mpc885ads_setup.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Platform setup for the Freescale mpc885ads board
*
diff --git a/arch/powerpc/platforms/8xx/mpc8xx.h b/arch/powerpc/platforms/8xx/mpc8xx.h
index 31cc2ecace42..3baa2def744e 100644
--- a/arch/powerpc/platforms/8xx/mpc8xx.h
+++ b/arch/powerpc/platforms/8xx/mpc8xx.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
/*
* Prototypes, etc. for the Freescale MPC8xx embedded cpu chips
* May need to be cleaned as the port goes on ...
diff --git a/arch/powerpc/platforms/8xx/pic.c b/arch/powerpc/platforms/8xx/pic.c
index f2ba837249d6..4130cea17239 100644
--- a/arch/powerpc/platforms/8xx/pic.c
+++ b/arch/powerpc/platforms/8xx/pic.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
#include <linux/kernel.h>
#include <linux/stddef.h>
#include <linux/sched.h>
diff --git a/arch/powerpc/platforms/8xx/pic.h b/arch/powerpc/platforms/8xx/pic.h
index 9fe00eebdc8b..45ec3966a2ce 100644
--- a/arch/powerpc/platforms/8xx/pic.h
+++ b/arch/powerpc/platforms/8xx/pic.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _PPC_KERNEL_MPC8xx_H
#define _PPC_KERNEL_MPC8xx_H
diff --git a/arch/powerpc/platforms/8xx/tqm8xx_setup.c b/arch/powerpc/platforms/8xx/tqm8xx_setup.c
index 4cea8b1afa44..e8bbe1df929f 100644
--- a/arch/powerpc/platforms/8xx/tqm8xx_setup.c
+++ b/arch/powerpc/platforms/8xx/tqm8xx_setup.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Platform setup for the MPC8xx based boards from TQM.
*
diff --git a/arch/powerpc/platforms/cell/spufs/spu_restore_dump.h_shipped b/arch/powerpc/platforms/cell/spufs/spu_restore_dump.h_shipped
index f383b027e8bf..f997a8c9edd2 100644
--- a/arch/powerpc/platforms/cell/spufs/spu_restore_dump.h_shipped
+++ b/arch/powerpc/platforms/cell/spufs/spu_restore_dump.h_shipped
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
/*
* spu_restore_dump.h: Copyright (C) 2005 IBM.
* Hex-dump auto generated from spu_restore.c.
diff --git a/arch/powerpc/platforms/cell/spufs/spu_save_dump.h_shipped b/arch/powerpc/platforms/cell/spufs/spu_save_dump.h_shipped
index b9f81ac8a632..f85f798e270e 100644
--- a/arch/powerpc/platforms/cell/spufs/spu_save_dump.h_shipped
+++ b/arch/powerpc/platforms/cell/spufs/spu_save_dump.h_shipped
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
/*
* spu_save_dump.h: Copyright (C) 2005 IBM.
* Hex-dump auto generated from spu_save.c.
diff --git a/arch/powerpc/platforms/chrp/gg2.h b/arch/powerpc/platforms/chrp/gg2.h
index 341ae55b99fb..4d984bf6917c 100644
--- a/arch/powerpc/platforms/chrp/gg2.h
+++ b/arch/powerpc/platforms/chrp/gg2.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
/*
* include/asm-ppc/gg2.h -- VLSI VAS96011/12 `Golden Gate 2' register definitions
*
diff --git a/arch/powerpc/platforms/embedded6xx/linkstation.c b/arch/powerpc/platforms/embedded6xx/linkstation.c
index eb8342e7f84e..02514e2ad67e 100644
--- a/arch/powerpc/platforms/embedded6xx/linkstation.c
+++ b/arch/powerpc/platforms/embedded6xx/linkstation.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Board setup routines for the Buffalo Linkstation / Kurobox Platform.
*
diff --git a/arch/powerpc/platforms/embedded6xx/ls_uart.c b/arch/powerpc/platforms/embedded6xx/ls_uart.c
index 9d891bd5df5a..87e1264d0c9c 100644
--- a/arch/powerpc/platforms/embedded6xx/ls_uart.c
+++ b/arch/powerpc/platforms/embedded6xx/ls_uart.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* AVR power-management chip interface for the Buffalo Linkstation /
* Kurobox Platform.
diff --git a/arch/powerpc/platforms/embedded6xx/mpc10x.h b/arch/powerpc/platforms/embedded6xx/mpc10x.h
index 5ad12023e562..1f410e478ad5 100644
--- a/arch/powerpc/platforms/embedded6xx/mpc10x.h
+++ b/arch/powerpc/platforms/embedded6xx/mpc10x.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
/*
* Common routines for the Motorola SPS MPC106/8240/107 Host bridge/Mem
* ctlr/EPIC/etc.
diff --git a/arch/powerpc/platforms/embedded6xx/storcenter.c b/arch/powerpc/platforms/embedded6xx/storcenter.c
index e188b90f7016..ac29d1d1a7b4 100644
--- a/arch/powerpc/platforms/embedded6xx/storcenter.c
+++ b/arch/powerpc/platforms/embedded6xx/storcenter.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Board setup routines for the storcenter
*
diff --git a/arch/powerpc/platforms/microwatt/Makefile b/arch/powerpc/platforms/microwatt/Makefile
index 116d6d3ad3f0..7defeadac694 100644
--- a/arch/powerpc/platforms/microwatt/Makefile
+++ b/arch/powerpc/platforms/microwatt/Makefile
@@ -1 +1,2 @@
+# SPDX-License-Identifier: GPL-2.0
obj-y += setup.o rng.o
diff --git a/arch/powerpc/platforms/microwatt/setup.c b/arch/powerpc/platforms/microwatt/setup.c
index 0b02603bdb74..fe6c242f788f 100644
--- a/arch/powerpc/platforms/microwatt/setup.c
+++ b/arch/powerpc/platforms/microwatt/setup.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Microwatt FPGA-based SoC platform setup code.
*
diff --git a/arch/powerpc/platforms/pseries/ibmebus.c b/arch/powerpc/platforms/pseries/ibmebus.c
index 7ee3ed7d6cc2..154ab5b6d7f5 100644
--- a/arch/powerpc/platforms/pseries/ibmebus.c
+++ b/arch/powerpc/platforms/pseries/ibmebus.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0 OR OpenIB BSD
/*
* IBM PowerPC IBM eBus Infrastructure Support.
*
diff --git a/arch/powerpc/sysdev/cpm2.c b/arch/powerpc/sysdev/cpm2.c
index 3f130312b6e9..16ce448f0029 100644
--- a/arch/powerpc/sysdev/cpm2.c
+++ b/arch/powerpc/sysdev/cpm2.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* General Purpose functions for the global management of the
* 8260 Communication Processor Module.
diff --git a/arch/powerpc/sysdev/cpm2_pic.c b/arch/powerpc/sysdev/cpm2_pic.c
index 9e86074719a9..91850496f2e5 100644
--- a/arch/powerpc/sysdev/cpm2_pic.c
+++ b/arch/powerpc/sysdev/cpm2_pic.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Platform information definitions.
*
diff --git a/arch/powerpc/sysdev/ehv_pic.c b/arch/powerpc/sysdev/ehv_pic.c
index 00705258ecf9..2eb956ffcd27 100644
--- a/arch/powerpc/sysdev/ehv_pic.c
+++ b/arch/powerpc/sysdev/ehv_pic.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Driver for ePAPR Embedded Hypervisor PIC
*
diff --git a/arch/powerpc/sysdev/ge/ge_pic.c b/arch/powerpc/sysdev/ge/ge_pic.c
index 02553a8ce191..73dfe371c783 100644
--- a/arch/powerpc/sysdev/ge/ge_pic.c
+++ b/arch/powerpc/sysdev/ge/ge_pic.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Interrupt handling for GE FPGA based PIC
*
diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c
index d5cb48b61bbd..5071c776eed4 100644
--- a/arch/powerpc/sysdev/mpic.c
+++ b/arch/powerpc/sysdev/mpic.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* arch/powerpc/kernel/mpic.c
*
diff --git a/arch/powerpc/sysdev/rtc_cmos_setup.c b/arch/powerpc/sysdev/rtc_cmos_setup.c
index af0f9beddca9..25ba1e7306de 100644
--- a/arch/powerpc/sysdev/rtc_cmos_setup.c
+++ b/arch/powerpc/sysdev/rtc_cmos_setup.c
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Setup code for PC-style Real-Time Clock.
*
diff --git a/arch/powerpc/tools/ci-build.sh b/arch/powerpc/tools/ci-build.sh
index 420df6ec5a2f..a861fd722495 100755
--- a/arch/powerpc/tools/ci-build.sh
+++ b/arch/powerpc/tools/ci-build.sh
@@ -1,4 +1,5 @@
#!/bin/bash
+# SPDX-License-Identifier: GPL-2.0
if [[ -z "$TARGET" || -z "$IMAGE" ]]; then
echo "Error: required environment variables not set!"
diff --git a/arch/powerpc/tools/head_check.sh b/arch/powerpc/tools/head_check.sh
index 689907cda996..4e80ad4ac6b7 100644
--- a/arch/powerpc/tools/head_check.sh
+++ b/arch/powerpc/tools/head_check.sh
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: GPL-2.0+
# Copyright © 2016 IBM Corporation
# This program is free software; you can redistribute it and/or
diff --git a/arch/powerpc/xmon/ppc.h b/arch/powerpc/xmon/ppc.h
index d00f33dcf192..a291df56226d 100644
--- a/arch/powerpc/xmon/ppc.h
+++ b/arch/powerpc/xmon/ppc.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-1.0+ */
/* ppc.h -- Header file for PowerPC opcode table
Copyright (C) 1994-2016 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Cygnus Support
--
2.33.1
^ permalink raw reply related
* [PATCH v2] powerpc: Add missing SPDX license identifiers to DTS files
From: Christophe Leroy @ 2022-01-17 7:03 UTC (permalink / raw)
To: Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman
Cc: Greg Kroah-Hartman, linux-kernel@vger.kernel.org,
linux-spdx@vger.kernel.org, Thomas Gleixner,
linuxppc-dev@lists.ozlabs.org
Several DTS files are missing SPDX license identifiers.
For files in fsl/ subdirectory, GPL v2 or later is used based
on the comments in the files.
For others add the default kernel license identifier, ie GPL-2.0.
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-spdx@vger.kernel.org
---
v2: Files in fsl subdir are GPL v2 or later
---
arch/powerpc/boot/dts/acadia.dts | 1 +
arch/powerpc/boot/dts/akebono.dts | 1 +
arch/powerpc/boot/dts/bamboo.dts | 1 +
arch/powerpc/boot/dts/canyonlands.dts | 1 +
arch/powerpc/boot/dts/currituck.dts | 1 +
arch/powerpc/boot/dts/ebony.dts | 1 +
arch/powerpc/boot/dts/eiger.dts | 1 +
arch/powerpc/boot/dts/fsl/b4420qds.dts | 1 +
arch/powerpc/boot/dts/fsl/b4420si-post.dtsi | 1 +
arch/powerpc/boot/dts/fsl/b4420si-pre.dtsi | 1 +
arch/powerpc/boot/dts/fsl/b4860qds.dts | 1 +
arch/powerpc/boot/dts/fsl/b4860si-post.dtsi | 1 +
arch/powerpc/boot/dts/fsl/b4860si-pre.dtsi | 1 +
arch/powerpc/boot/dts/fsl/b4qds.dtsi | 1 +
arch/powerpc/boot/dts/fsl/b4si-post.dtsi | 1 +
arch/powerpc/boot/dts/fsl/bsc9131rdb.dtsi | 1 +
arch/powerpc/boot/dts/fsl/bsc9131si-post.dtsi | 1 +
arch/powerpc/boot/dts/fsl/bsc9131si-pre.dtsi | 1 +
arch/powerpc/boot/dts/fsl/bsc9132qds.dtsi | 1 +
arch/powerpc/boot/dts/fsl/bsc9132si-post.dtsi | 1 +
arch/powerpc/boot/dts/fsl/bsc9132si-pre.dtsi | 1 +
arch/powerpc/boot/dts/fsl/c293pcie.dts | 1 +
arch/powerpc/boot/dts/fsl/c293si-post.dtsi | 1 +
arch/powerpc/boot/dts/fsl/c293si-pre.dtsi | 1 +
arch/powerpc/boot/dts/fsl/e500mc_power_isa.dtsi | 1 +
arch/powerpc/boot/dts/fsl/e500v2_power_isa.dtsi | 1 +
arch/powerpc/boot/dts/fsl/e5500_power_isa.dtsi | 1 +
arch/powerpc/boot/dts/fsl/e6500_power_isa.dtsi | 1 +
arch/powerpc/boot/dts/fsl/elo3-dma-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/elo3-dma-1.dtsi | 1 +
arch/powerpc/boot/dts/fsl/elo3-dma-2.dtsi | 1 +
arch/powerpc/boot/dts/fsl/interlaken-lac-portals.dtsi | 1 +
arch/powerpc/boot/dts/fsl/interlaken-lac.dtsi | 1 +
arch/powerpc/boot/dts/fsl/mpc8536ds.dtsi | 1 +
arch/powerpc/boot/dts/fsl/mpc8536si-post.dtsi | 1 +
arch/powerpc/boot/dts/fsl/mpc8536si-pre.dtsi | 1 +
arch/powerpc/boot/dts/fsl/mpc8544ds.dtsi | 1 +
arch/powerpc/boot/dts/fsl/mpc8544si-post.dtsi | 1 +
arch/powerpc/boot/dts/fsl/mpc8544si-pre.dtsi | 1 +
arch/powerpc/boot/dts/fsl/mpc8548cds.dtsi | 1 +
arch/powerpc/boot/dts/fsl/mpc8548si-post.dtsi | 1 +
arch/powerpc/boot/dts/fsl/mpc8548si-pre.dtsi | 1 +
arch/powerpc/boot/dts/fsl/mpc8568si-post.dtsi | 1 +
arch/powerpc/boot/dts/fsl/mpc8568si-pre.dtsi | 1 +
arch/powerpc/boot/dts/fsl/mpc8569si-post.dtsi | 1 +
arch/powerpc/boot/dts/fsl/mpc8569si-pre.dtsi | 1 +
arch/powerpc/boot/dts/fsl/mpc8572ds.dtsi | 1 +
arch/powerpc/boot/dts/fsl/mpc8572si-post.dtsi | 1 +
arch/powerpc/boot/dts/fsl/mpc8572si-pre.dtsi | 1 +
arch/powerpc/boot/dts/fsl/oca4080.dts | 1 +
arch/powerpc/boot/dts/fsl/p1010rdb-pa.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p1010rdb-pa_36b.dts | 1 +
arch/powerpc/boot/dts/fsl/p1010rdb-pb_36b.dts | 1 +
arch/powerpc/boot/dts/fsl/p1010rdb.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p1010rdb_32b.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p1010rdb_36b.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p1010si-post.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p1010si-pre.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p1020mbg-pc.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p1020mbg-pc_32b.dts | 1 +
arch/powerpc/boot/dts/fsl/p1020mbg-pc_36b.dts | 1 +
arch/powerpc/boot/dts/fsl/p1020rdb-pc.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p1020rdb-pc_32b.dts | 1 +
arch/powerpc/boot/dts/fsl/p1020rdb-pc_36b.dts | 1 +
arch/powerpc/boot/dts/fsl/p1020rdb-pd.dts | 1 +
arch/powerpc/boot/dts/fsl/p1020rdb.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p1020si-post.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p1020si-pre.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p1020utm-pc.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p1020utm-pc_32b.dts | 1 +
arch/powerpc/boot/dts/fsl/p1020utm-pc_36b.dts | 1 +
arch/powerpc/boot/dts/fsl/p1021rdb-pc.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p1021rdb-pc_32b.dts | 1 +
arch/powerpc/boot/dts/fsl/p1021rdb-pc_36b.dts | 1 +
arch/powerpc/boot/dts/fsl/p1021si-post.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p1021si-pre.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p1022ds.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p1022ds_32b.dts | 1 +
arch/powerpc/boot/dts/fsl/p1022ds_36b.dts | 1 +
arch/powerpc/boot/dts/fsl/p1022rdk.dts | 1 +
arch/powerpc/boot/dts/fsl/p1022si-post.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p1022si-pre.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p1023rdb.dts | 1 +
arch/powerpc/boot/dts/fsl/p1023si-post.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p1023si-pre.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p1024rdb.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p1024rdb_32b.dts | 1 +
arch/powerpc/boot/dts/fsl/p1024rdb_36b.dts | 1 +
arch/powerpc/boot/dts/fsl/p1025rdb.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p1025rdb_32b.dts | 1 +
arch/powerpc/boot/dts/fsl/p1025rdb_36b.dts | 1 +
arch/powerpc/boot/dts/fsl/p1025twr.dts | 1 +
arch/powerpc/boot/dts/fsl/p1025twr.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p2020ds.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p2020rdb-pc.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p2020rdb-pc_32b.dts | 1 +
arch/powerpc/boot/dts/fsl/p2020rdb-pc_36b.dts | 1 +
arch/powerpc/boot/dts/fsl/p2020si-post.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p2020si-pre.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p2041rdb.dts | 1 +
arch/powerpc/boot/dts/fsl/p2041si-post.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p2041si-pre.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p3041ds.dts | 1 +
arch/powerpc/boot/dts/fsl/p3041si-post.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p3041si-pre.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p4080ds.dts | 1 +
arch/powerpc/boot/dts/fsl/p4080si-post.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p4080si-pre.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p5020ds.dts | 1 +
arch/powerpc/boot/dts/fsl/p5020si-post.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p5020si-pre.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p5040ds.dts | 1 +
arch/powerpc/boot/dts/fsl/p5040si-post.dtsi | 1 +
arch/powerpc/boot/dts/fsl/p5040si-pre.dtsi | 1 +
arch/powerpc/boot/dts/fsl/pq3-dma-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/pq3-dma-1.dtsi | 1 +
arch/powerpc/boot/dts/fsl/pq3-duart-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/pq3-esdhc-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/pq3-espi-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/pq3-etsec1-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/pq3-etsec1-1.dtsi | 1 +
arch/powerpc/boot/dts/fsl/pq3-etsec1-2.dtsi | 1 +
arch/powerpc/boot/dts/fsl/pq3-etsec1-3.dtsi | 1 +
arch/powerpc/boot/dts/fsl/pq3-etsec1-timer-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/pq3-etsec2-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/pq3-etsec2-1.dtsi | 1 +
arch/powerpc/boot/dts/fsl/pq3-etsec2-2.dtsi | 1 +
arch/powerpc/boot/dts/fsl/pq3-etsec2-grp2-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/pq3-etsec2-grp2-1.dtsi | 1 +
arch/powerpc/boot/dts/fsl/pq3-etsec2-grp2-2.dtsi | 1 +
arch/powerpc/boot/dts/fsl/pq3-gpio-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/pq3-i2c-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/pq3-i2c-1.dtsi | 1 +
arch/powerpc/boot/dts/fsl/pq3-mpic-message-B.dtsi | 1 +
arch/powerpc/boot/dts/fsl/pq3-mpic-timer-B.dtsi | 1 +
arch/powerpc/boot/dts/fsl/pq3-mpic.dtsi | 1 +
arch/powerpc/boot/dts/fsl/pq3-rmu-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/pq3-sata2-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/pq3-sata2-1.dtsi | 1 +
arch/powerpc/boot/dts/fsl/pq3-sec2.1-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/pq3-sec3.0-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/pq3-sec3.1-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/pq3-sec3.3-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/pq3-sec4.4-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/pq3-usb2-dr-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/pq3-usb2-dr-1.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qonverge-usb2-dr-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-bman1-portals.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-bman1.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-clockgen1.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-clockgen2.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-dma-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-dma-1.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-duart-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-duart-1.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-esdhc-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-espi-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-fman-0-10g-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-fman-0-1g-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-fman-0-1g-1.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-fman-0-1g-2.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-fman-0-1g-3.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-fman-0-1g-4.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-fman-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-fman-1-10g-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-fman-1-1g-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-fman-1-1g-1.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-fman-1-1g-2.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-fman-1-1g-3.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-fman-1-1g-4.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-fman-1.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-0-best-effort.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-1-best-effort.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-1.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-1.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-2.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-3.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-4.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-5.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-fman3-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-1.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-1.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-2.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-3.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-4.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-5.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-fman3-1.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-fman3l-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-gpio-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-gpio-1.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-gpio-2.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-gpio-3.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-i2c-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-i2c-1.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-mpic.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-mpic4.3.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-qman1-portals.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-qman1.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-qman3.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-raid1.0-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-rmu-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-sata2-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-sata2-1.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-sec4.0-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-sec4.2-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-sec5.0-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-sec5.2-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-sec5.3-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-sec6.0-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-usb2-dr-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/qoriq-usb2-mph-0.dtsi | 1 +
arch/powerpc/boot/dts/fsl/t1023rdb.dts | 1 +
arch/powerpc/boot/dts/fsl/t1023si-post.dtsi | 1 +
arch/powerpc/boot/dts/fsl/t1024qds.dts | 1 +
arch/powerpc/boot/dts/fsl/t1024rdb.dts | 1 +
arch/powerpc/boot/dts/fsl/t1024si-post.dtsi | 1 +
arch/powerpc/boot/dts/fsl/t102xsi-pre.dtsi | 1 +
arch/powerpc/boot/dts/fsl/t1040d4rdb.dts | 1 +
arch/powerpc/boot/dts/fsl/t1040qds.dts | 1 +
arch/powerpc/boot/dts/fsl/t1040rdb.dts | 1 +
arch/powerpc/boot/dts/fsl/t1040si-post.dtsi | 1 +
arch/powerpc/boot/dts/fsl/t1042d4rdb.dts | 1 +
arch/powerpc/boot/dts/fsl/t1042qds.dts | 1 +
arch/powerpc/boot/dts/fsl/t1042rdb.dts | 1 +
arch/powerpc/boot/dts/fsl/t1042rdb_pi.dts | 1 +
arch/powerpc/boot/dts/fsl/t1042si-post.dtsi | 1 +
arch/powerpc/boot/dts/fsl/t104xd4rdb.dtsi | 1 +
arch/powerpc/boot/dts/fsl/t104xqds.dtsi | 1 +
arch/powerpc/boot/dts/fsl/t104xrdb.dtsi | 1 +
arch/powerpc/boot/dts/fsl/t104xsi-pre.dtsi | 1 +
arch/powerpc/boot/dts/fsl/t2080qds.dts | 1 +
arch/powerpc/boot/dts/fsl/t2080rdb.dts | 1 +
arch/powerpc/boot/dts/fsl/t2080si-post.dtsi | 1 +
arch/powerpc/boot/dts/fsl/t2081qds.dts | 1 +
arch/powerpc/boot/dts/fsl/t2081si-post.dtsi | 1 +
arch/powerpc/boot/dts/fsl/t208xqds.dtsi | 1 +
arch/powerpc/boot/dts/fsl/t208xrdb.dtsi | 1 +
arch/powerpc/boot/dts/fsl/t208xsi-pre.dtsi | 1 +
arch/powerpc/boot/dts/fsl/t4240qds.dts | 1 +
arch/powerpc/boot/dts/fsl/t4240rdb.dts | 1 +
arch/powerpc/boot/dts/fsl/t4240si-post.dtsi | 1 +
arch/powerpc/boot/dts/fsl/t4240si-pre.dtsi | 1 +
arch/powerpc/boot/dts/fsp2.dts | 1 +
arch/powerpc/boot/dts/glacier.dts | 1 +
arch/powerpc/boot/dts/haleakala.dts | 1 +
arch/powerpc/boot/dts/holly.dts | 1 +
| 1 +
arch/powerpc/boot/dts/icon.dts | 1 +
arch/powerpc/boot/dts/iss4xx-mpic.dts | 1 +
arch/powerpc/boot/dts/iss4xx.dts | 1 +
arch/powerpc/boot/dts/katmai.dts | 1 +
arch/powerpc/boot/dts/kilauea.dts | 1 +
arch/powerpc/boot/dts/ksi8560.dts | 1 +
arch/powerpc/boot/dts/kuroboxHD.dts | 1 +
arch/powerpc/boot/dts/kuroboxHG.dts | 1 +
arch/powerpc/boot/dts/makalu.dts | 1 +
arch/powerpc/boot/dts/microwatt.dts | 1 +
arch/powerpc/boot/dts/mvme5100.dts | 1 +
arch/powerpc/boot/dts/obs600.dts | 1 +
arch/powerpc/boot/dts/rainier.dts | 1 +
arch/powerpc/boot/dts/redwood.dts | 1 +
arch/powerpc/boot/dts/sam440ep.dts | 1 +
arch/powerpc/boot/dts/sequoia.dts | 1 +
arch/powerpc/boot/dts/storcenter.dts | 1 +
arch/powerpc/boot/dts/taishan.dts | 1 +
arch/powerpc/boot/dts/warp.dts | 1 +
arch/powerpc/boot/dts/yosemite.dts | 1 +
271 files changed, 271 insertions(+)
diff --git a/arch/powerpc/boot/dts/acadia.dts b/arch/powerpc/boot/dts/acadia.dts
index deb52e41ab84..be2dde84685b 100644
--- a/arch/powerpc/boot/dts/acadia.dts
+++ b/arch/powerpc/boot/dts/acadia.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Device Tree Source for AMCC Acadia (405EZ)
*
diff --git a/arch/powerpc/boot/dts/akebono.dts b/arch/powerpc/boot/dts/akebono.dts
index df18f8dc4642..c954fd60a409 100644
--- a/arch/powerpc/boot/dts/akebono.dts
+++ b/arch/powerpc/boot/dts/akebono.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Device Tree Source for IBM Embedded PPC 476 Platform
*
diff --git a/arch/powerpc/boot/dts/bamboo.dts b/arch/powerpc/boot/dts/bamboo.dts
index b5861fa3836c..4ef188c4d78a 100644
--- a/arch/powerpc/boot/dts/bamboo.dts
+++ b/arch/powerpc/boot/dts/bamboo.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Device Tree Source for AMCC Bamboo
*
diff --git a/arch/powerpc/boot/dts/canyonlands.dts b/arch/powerpc/boot/dts/canyonlands.dts
index c5fbb08e0a6e..8ab21497c88f 100644
--- a/arch/powerpc/boot/dts/canyonlands.dts
+++ b/arch/powerpc/boot/dts/canyonlands.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Device Tree Source for AMCC Canyonlands (460EX)
*
diff --git a/arch/powerpc/boot/dts/currituck.dts b/arch/powerpc/boot/dts/currituck.dts
index aea8af810106..c92885f43168 100644
--- a/arch/powerpc/boot/dts/currituck.dts
+++ b/arch/powerpc/boot/dts/currituck.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Device Tree Source for IBM Embedded PPC 476 Platform
*
diff --git a/arch/powerpc/boot/dts/ebony.dts b/arch/powerpc/boot/dts/ebony.dts
index 5d11e6ea7405..6b7426662dee 100644
--- a/arch/powerpc/boot/dts/ebony.dts
+++ b/arch/powerpc/boot/dts/ebony.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Device Tree Source for IBM Ebony
*
diff --git a/arch/powerpc/boot/dts/eiger.dts b/arch/powerpc/boot/dts/eiger.dts
index 7a1231d9d6f0..240ca1580d27 100644
--- a/arch/powerpc/boot/dts/eiger.dts
+++ b/arch/powerpc/boot/dts/eiger.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Device Tree Source for AMCC (AppliedMicro) Eiger(460SX)
*
diff --git a/arch/powerpc/boot/dts/fsl/b4420qds.dts b/arch/powerpc/boot/dts/fsl/b4420qds.dts
index cd9203ceedc0..f931f0d63b48 100644
--- a/arch/powerpc/boot/dts/fsl/b4420qds.dts
+++ b/arch/powerpc/boot/dts/fsl/b4420qds.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* B4420DS Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/b4420si-post.dtsi b/arch/powerpc/boot/dts/fsl/b4420si-post.dtsi
index f996cced45e0..40081fb615c4 100644
--- a/arch/powerpc/boot/dts/fsl/b4420si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/b4420si-post.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* B4420 Silicon/SoC Device Tree Source (post include)
*
diff --git a/arch/powerpc/boot/dts/fsl/b4420si-pre.dtsi b/arch/powerpc/boot/dts/fsl/b4420si-pre.dtsi
index bb7b9b9f3f5f..63f1d585c1e0 100644
--- a/arch/powerpc/boot/dts/fsl/b4420si-pre.dtsi
+++ b/arch/powerpc/boot/dts/fsl/b4420si-pre.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* B4420 Silicon/SoC Device Tree Source (pre include)
*
diff --git a/arch/powerpc/boot/dts/fsl/b4860qds.dts b/arch/powerpc/boot/dts/fsl/b4860qds.dts
index a8bc419959ca..b3bbf16863d6 100644
--- a/arch/powerpc/boot/dts/fsl/b4860qds.dts
+++ b/arch/powerpc/boot/dts/fsl/b4860qds.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* B4860DS Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/b4860si-post.dtsi b/arch/powerpc/boot/dts/fsl/b4860si-post.dtsi
index 868719821106..f052ca461239 100644
--- a/arch/powerpc/boot/dts/fsl/b4860si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/b4860si-post.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* B4860 Silicon/SoC Device Tree Source (post include)
*
diff --git a/arch/powerpc/boot/dts/fsl/b4860si-pre.dtsi b/arch/powerpc/boot/dts/fsl/b4860si-pre.dtsi
index 388ba1b15f8c..a1ec909dafae 100644
--- a/arch/powerpc/boot/dts/fsl/b4860si-pre.dtsi
+++ b/arch/powerpc/boot/dts/fsl/b4860si-pre.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* B4860 Silicon/SoC Device Tree Source (pre include)
*
diff --git a/arch/powerpc/boot/dts/fsl/b4qds.dtsi b/arch/powerpc/boot/dts/fsl/b4qds.dtsi
index 05be919f3545..83402f969d69 100644
--- a/arch/powerpc/boot/dts/fsl/b4qds.dtsi
+++ b/arch/powerpc/boot/dts/fsl/b4qds.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* B4420DS Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/b4si-post.dtsi b/arch/powerpc/boot/dts/fsl/b4si-post.dtsi
index 4f044b41a776..a811885009c2 100644
--- a/arch/powerpc/boot/dts/fsl/b4si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/b4si-post.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* B4420 Silicon/SoC Device Tree Source (post include)
*
diff --git a/arch/powerpc/boot/dts/fsl/bsc9131rdb.dtsi b/arch/powerpc/boot/dts/fsl/bsc9131rdb.dtsi
index 53f8b956340f..a5f4012f2e98 100644
--- a/arch/powerpc/boot/dts/fsl/bsc9131rdb.dtsi
+++ b/arch/powerpc/boot/dts/fsl/bsc9131rdb.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* BSC9131 RDB Device Tree Source stub (no addresses or top-level ranges)
*
diff --git a/arch/powerpc/boot/dts/fsl/bsc9131si-post.dtsi b/arch/powerpc/boot/dts/fsl/bsc9131si-post.dtsi
index 2a677fd323eb..90eafd2d6a52 100644
--- a/arch/powerpc/boot/dts/fsl/bsc9131si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/bsc9131si-post.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* BSC9131 Silicon/SoC Device Tree Source (post include)
*
diff --git a/arch/powerpc/boot/dts/fsl/bsc9131si-pre.dtsi b/arch/powerpc/boot/dts/fsl/bsc9131si-pre.dtsi
index f6ec4a67560c..71ebf485cf67 100644
--- a/arch/powerpc/boot/dts/fsl/bsc9131si-pre.dtsi
+++ b/arch/powerpc/boot/dts/fsl/bsc9131si-pre.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* BSC9131 Silicon/SoC Device Tree Source (pre include)
*
diff --git a/arch/powerpc/boot/dts/fsl/bsc9132qds.dtsi b/arch/powerpc/boot/dts/fsl/bsc9132qds.dtsi
index fead484a8180..044deb3d5f4c 100644
--- a/arch/powerpc/boot/dts/fsl/bsc9132qds.dtsi
+++ b/arch/powerpc/boot/dts/fsl/bsc9132qds.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* BSC9132 QDS Device Tree Source stub (no addresses or top-level ranges)
*
diff --git a/arch/powerpc/boot/dts/fsl/bsc9132si-post.dtsi b/arch/powerpc/boot/dts/fsl/bsc9132si-post.dtsi
index b8e0edd1ac69..aa67bdd47877 100644
--- a/arch/powerpc/boot/dts/fsl/bsc9132si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/bsc9132si-post.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* BSC9132 Silicon/SoC Device Tree Source (post include)
*
diff --git a/arch/powerpc/boot/dts/fsl/bsc9132si-pre.dtsi b/arch/powerpc/boot/dts/fsl/bsc9132si-pre.dtsi
index 90f7949fe312..586b618b5f71 100644
--- a/arch/powerpc/boot/dts/fsl/bsc9132si-pre.dtsi
+++ b/arch/powerpc/boot/dts/fsl/bsc9132si-pre.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* BSC9132 Silicon/SoC Device Tree Source (pre include)
*
diff --git a/arch/powerpc/boot/dts/fsl/c293pcie.dts b/arch/powerpc/boot/dts/fsl/c293pcie.dts
index 5e905e0857cf..25dc35d6301c 100644
--- a/arch/powerpc/boot/dts/fsl/c293pcie.dts
+++ b/arch/powerpc/boot/dts/fsl/c293pcie.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* C293 PCIE Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/c293si-post.dtsi b/arch/powerpc/boot/dts/fsl/c293si-post.dtsi
index bec0fc36849d..aea404096b2b 100644
--- a/arch/powerpc/boot/dts/fsl/c293si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/c293si-post.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* C293 Silicon/SoC Device Tree Source (post include)
*
diff --git a/arch/powerpc/boot/dts/fsl/c293si-pre.dtsi b/arch/powerpc/boot/dts/fsl/c293si-pre.dtsi
index 065049d76245..f91297a98d0d 100644
--- a/arch/powerpc/boot/dts/fsl/c293si-pre.dtsi
+++ b/arch/powerpc/boot/dts/fsl/c293si-pre.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* C293 Silicon/SoC Device Tree Source (pre include)
*
diff --git a/arch/powerpc/boot/dts/fsl/e500mc_power_isa.dtsi b/arch/powerpc/boot/dts/fsl/e500mc_power_isa.dtsi
index ea145c91cfbd..d8cd74e737db 100644
--- a/arch/powerpc/boot/dts/fsl/e500mc_power_isa.dtsi
+++ b/arch/powerpc/boot/dts/fsl/e500mc_power_isa.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* e500mc Power ISA Device Tree Source (include)
*
diff --git a/arch/powerpc/boot/dts/fsl/e500v2_power_isa.dtsi b/arch/powerpc/boot/dts/fsl/e500v2_power_isa.dtsi
index f4928144d2c8..94c86f7f384d 100644
--- a/arch/powerpc/boot/dts/fsl/e500v2_power_isa.dtsi
+++ b/arch/powerpc/boot/dts/fsl/e500v2_power_isa.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* e500v2 Power ISA Device Tree Source (include)
*
diff --git a/arch/powerpc/boot/dts/fsl/e5500_power_isa.dtsi b/arch/powerpc/boot/dts/fsl/e5500_power_isa.dtsi
index c254c981ae87..c19692115609 100644
--- a/arch/powerpc/boot/dts/fsl/e5500_power_isa.dtsi
+++ b/arch/powerpc/boot/dts/fsl/e5500_power_isa.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* e5500 Power ISA Device Tree Source (include)
*
diff --git a/arch/powerpc/boot/dts/fsl/e6500_power_isa.dtsi b/arch/powerpc/boot/dts/fsl/e6500_power_isa.dtsi
index a912dbeff359..4644384fbeb4 100644
--- a/arch/powerpc/boot/dts/fsl/e6500_power_isa.dtsi
+++ b/arch/powerpc/boot/dts/fsl/e6500_power_isa.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* e6500 Power ISA Device Tree Source (include)
*
diff --git a/arch/powerpc/boot/dts/fsl/elo3-dma-0.dtsi b/arch/powerpc/boot/dts/fsl/elo3-dma-0.dtsi
index 3c210e0d5201..fe30f0afa696 100644
--- a/arch/powerpc/boot/dts/fsl/elo3-dma-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/elo3-dma-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ Elo3 DMA device tree stub [ controller @ offset 0x100000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/elo3-dma-1.dtsi b/arch/powerpc/boot/dts/fsl/elo3-dma-1.dtsi
index cccf3bb38224..8536d78af4d5 100644
--- a/arch/powerpc/boot/dts/fsl/elo3-dma-1.dtsi
+++ b/arch/powerpc/boot/dts/fsl/elo3-dma-1.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ Elo3 DMA device tree stub [ controller @ offset 0x101000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/elo3-dma-2.dtsi b/arch/powerpc/boot/dts/fsl/elo3-dma-2.dtsi
index d3cc8d0f7c25..1ca0dc8e8d94 100644
--- a/arch/powerpc/boot/dts/fsl/elo3-dma-2.dtsi
+++ b/arch/powerpc/boot/dts/fsl/elo3-dma-2.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ Elo3 DMA device tree stub [ controller @ offset 0x102300 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/interlaken-lac-portals.dtsi b/arch/powerpc/boot/dts/fsl/interlaken-lac-portals.dtsi
index 9cffccf4e07e..fc861972282e 100644
--- a/arch/powerpc/boot/dts/fsl/interlaken-lac-portals.dtsi
+++ b/arch/powerpc/boot/dts/fsl/interlaken-lac-portals.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/* T4240 Interlaken LAC Portal device tree stub with 24 portals.
*
* Copyright 2012 Freescale Semiconductor Inc.
diff --git a/arch/powerpc/boot/dts/fsl/interlaken-lac.dtsi b/arch/powerpc/boot/dts/fsl/interlaken-lac.dtsi
index e8208720ac0e..23427094729c 100644
--- a/arch/powerpc/boot/dts/fsl/interlaken-lac.dtsi
+++ b/arch/powerpc/boot/dts/fsl/interlaken-lac.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* T4 Interlaken Look-aside Controller (LAC) device tree stub
*
diff --git a/arch/powerpc/boot/dts/fsl/mpc8536ds.dtsi b/arch/powerpc/boot/dts/fsl/mpc8536ds.dtsi
index a925fe49a73e..273b3ddcf7f7 100644
--- a/arch/powerpc/boot/dts/fsl/mpc8536ds.dtsi
+++ b/arch/powerpc/boot/dts/fsl/mpc8536ds.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* MPC8536DS Device Tree Source stub (no addresses or top-level ranges)
*
diff --git a/arch/powerpc/boot/dts/fsl/mpc8536si-post.dtsi b/arch/powerpc/boot/dts/fsl/mpc8536si-post.dtsi
index 41935709ebe8..7ad763112a79 100644
--- a/arch/powerpc/boot/dts/fsl/mpc8536si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/mpc8536si-post.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* MPC8536 Silicon/SoC Device Tree Source (post include)
*
diff --git a/arch/powerpc/boot/dts/fsl/mpc8536si-pre.dtsi b/arch/powerpc/boot/dts/fsl/mpc8536si-pre.dtsi
index 152906f98a0f..00bdc12ae9ef 100644
--- a/arch/powerpc/boot/dts/fsl/mpc8536si-pre.dtsi
+++ b/arch/powerpc/boot/dts/fsl/mpc8536si-pre.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* MPC8536 Silicon/SoC Device Tree Source (pre include)
*
diff --git a/arch/powerpc/boot/dts/fsl/mpc8544ds.dtsi b/arch/powerpc/boot/dts/fsl/mpc8544ds.dtsi
index 47d986b041f6..e0885acef840 100644
--- a/arch/powerpc/boot/dts/fsl/mpc8544ds.dtsi
+++ b/arch/powerpc/boot/dts/fsl/mpc8544ds.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* MPC8544DS Device Tree Source stub (no addresses or top-level ranges)
*
diff --git a/arch/powerpc/boot/dts/fsl/mpc8544si-post.dtsi b/arch/powerpc/boot/dts/fsl/mpc8544si-post.dtsi
index b68eb119faef..6fab674dce45 100644
--- a/arch/powerpc/boot/dts/fsl/mpc8544si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/mpc8544si-post.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* MPC8544 Silicon/SoC Device Tree Source (post include)
*
diff --git a/arch/powerpc/boot/dts/fsl/mpc8544si-pre.dtsi b/arch/powerpc/boot/dts/fsl/mpc8544si-pre.dtsi
index 5a69bafb652a..e0d2c22e5500 100644
--- a/arch/powerpc/boot/dts/fsl/mpc8544si-pre.dtsi
+++ b/arch/powerpc/boot/dts/fsl/mpc8544si-pre.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* MPC8544 Silicon/SoC Device Tree Source (pre include)
*
diff --git a/arch/powerpc/boot/dts/fsl/mpc8548cds.dtsi b/arch/powerpc/boot/dts/fsl/mpc8548cds.dtsi
index 3bc7d4711220..c51118050d72 100644
--- a/arch/powerpc/boot/dts/fsl/mpc8548cds.dtsi
+++ b/arch/powerpc/boot/dts/fsl/mpc8548cds.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* MPC8548CDS Device Tree Source stub (no addresses or top-level ranges)
*
diff --git a/arch/powerpc/boot/dts/fsl/mpc8548si-post.dtsi b/arch/powerpc/boot/dts/fsl/mpc8548si-post.dtsi
index 579d76cb8e32..6677b92fde95 100644
--- a/arch/powerpc/boot/dts/fsl/mpc8548si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/mpc8548si-post.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* MPC8548 Silicon/SoC Device Tree Source (post include)
*
diff --git a/arch/powerpc/boot/dts/fsl/mpc8548si-pre.dtsi b/arch/powerpc/boot/dts/fsl/mpc8548si-pre.dtsi
index fc1ce977422b..4361d21b913c 100644
--- a/arch/powerpc/boot/dts/fsl/mpc8548si-pre.dtsi
+++ b/arch/powerpc/boot/dts/fsl/mpc8548si-pre.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* MPC8548 Silicon/SoC Device Tree Source (pre include)
*
diff --git a/arch/powerpc/boot/dts/fsl/mpc8568si-post.dtsi b/arch/powerpc/boot/dts/fsl/mpc8568si-post.dtsi
index 64e7075a9cd4..ad6cd22f5374 100644
--- a/arch/powerpc/boot/dts/fsl/mpc8568si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/mpc8568si-post.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* MPC8568 Silicon/SoC Device Tree Source (post include)
*
diff --git a/arch/powerpc/boot/dts/fsl/mpc8568si-pre.dtsi b/arch/powerpc/boot/dts/fsl/mpc8568si-pre.dtsi
index 122ca3bd0b03..213337395b03 100644
--- a/arch/powerpc/boot/dts/fsl/mpc8568si-pre.dtsi
+++ b/arch/powerpc/boot/dts/fsl/mpc8568si-pre.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* MPC8568 Silicon/SoC Device Tree Source (pre include)
*
diff --git a/arch/powerpc/boot/dts/fsl/mpc8569si-post.dtsi b/arch/powerpc/boot/dts/fsl/mpc8569si-post.dtsi
index 3e6346a4a183..968a2566f81c 100644
--- a/arch/powerpc/boot/dts/fsl/mpc8569si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/mpc8569si-post.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* MPC8569 Silicon/SoC Device Tree Source (post include)
*
diff --git a/arch/powerpc/boot/dts/fsl/mpc8569si-pre.dtsi b/arch/powerpc/boot/dts/fsl/mpc8569si-pre.dtsi
index 2cd15a2a0422..cf280fc346c3 100644
--- a/arch/powerpc/boot/dts/fsl/mpc8569si-pre.dtsi
+++ b/arch/powerpc/boot/dts/fsl/mpc8569si-pre.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* MPC8569 Silicon/SoC Device Tree Source (pre include)
*
diff --git a/arch/powerpc/boot/dts/fsl/mpc8572ds.dtsi b/arch/powerpc/boot/dts/fsl/mpc8572ds.dtsi
index 357490bb84da..977b65dcb6c9 100644
--- a/arch/powerpc/boot/dts/fsl/mpc8572ds.dtsi
+++ b/arch/powerpc/boot/dts/fsl/mpc8572ds.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* MPC8572DS Device Tree Source stub (no addresses or top-level ranges)
*
diff --git a/arch/powerpc/boot/dts/fsl/mpc8572si-post.dtsi b/arch/powerpc/boot/dts/fsl/mpc8572si-post.dtsi
index 49294cf36b4e..6d71e273e8a8 100644
--- a/arch/powerpc/boot/dts/fsl/mpc8572si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/mpc8572si-post.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* MPC8572 Silicon/SoC Device Tree Source (post include)
*
diff --git a/arch/powerpc/boot/dts/fsl/mpc8572si-pre.dtsi b/arch/powerpc/boot/dts/fsl/mpc8572si-pre.dtsi
index 28c2a862be96..9f2b68350134 100644
--- a/arch/powerpc/boot/dts/fsl/mpc8572si-pre.dtsi
+++ b/arch/powerpc/boot/dts/fsl/mpc8572si-pre.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* MPC8572 Silicon/SoC Device Tree Source (pre include)
*
diff --git a/arch/powerpc/boot/dts/fsl/oca4080.dts b/arch/powerpc/boot/dts/fsl/oca4080.dts
index 17bc6f391248..9e8e3b64b716 100644
--- a/arch/powerpc/boot/dts/fsl/oca4080.dts
+++ b/arch/powerpc/boot/dts/fsl/oca4080.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* OCA4080 Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/p1010rdb-pa.dtsi b/arch/powerpc/boot/dts/fsl/p1010rdb-pa.dtsi
index 434fb2d58575..3efc84ccbf70 100644
--- a/arch/powerpc/boot/dts/fsl/p1010rdb-pa.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p1010rdb-pa.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1010 RDB Device Tree Source stub (no addresses or top-level ranges)
*
diff --git a/arch/powerpc/boot/dts/fsl/p1010rdb-pa_36b.dts b/arch/powerpc/boot/dts/fsl/p1010rdb-pa_36b.dts
index 03bd76ca8406..dd0ff4438f21 100644
--- a/arch/powerpc/boot/dts/fsl/p1010rdb-pa_36b.dts
+++ b/arch/powerpc/boot/dts/fsl/p1010rdb-pa_36b.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1010 RDB Device Tree Source (36-bit address map)
*
diff --git a/arch/powerpc/boot/dts/fsl/p1010rdb-pb_36b.dts b/arch/powerpc/boot/dts/fsl/p1010rdb-pb_36b.dts
index 4cf255fedc96..ba28f776697e 100644
--- a/arch/powerpc/boot/dts/fsl/p1010rdb-pb_36b.dts
+++ b/arch/powerpc/boot/dts/fsl/p1010rdb-pb_36b.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1010 RDB Device Tree Source (36-bit address map)
*
diff --git a/arch/powerpc/boot/dts/fsl/p1010rdb.dtsi b/arch/powerpc/boot/dts/fsl/p1010rdb.dtsi
index 2ca9cee2ddeb..c8f1e0673553 100644
--- a/arch/powerpc/boot/dts/fsl/p1010rdb.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p1010rdb.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1010 RDB Device Tree Source stub (no addresses or top-level ranges)
*
diff --git a/arch/powerpc/boot/dts/fsl/p1010rdb_32b.dtsi b/arch/powerpc/boot/dts/fsl/p1010rdb_32b.dtsi
index fdc19aab2f70..30f9bd4fc9d9 100644
--- a/arch/powerpc/boot/dts/fsl/p1010rdb_32b.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p1010rdb_32b.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1010 RDB Device Tree Source stub (no addresses or top-level ranges)
*
diff --git a/arch/powerpc/boot/dts/fsl/p1010rdb_36b.dtsi b/arch/powerpc/boot/dts/fsl/p1010rdb_36b.dtsi
index de2fceed4f79..734c9f90668c 100644
--- a/arch/powerpc/boot/dts/fsl/p1010rdb_36b.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p1010rdb_36b.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1010 RDB Device Tree Source stub (no addresses or top-level ranges)
*
diff --git a/arch/powerpc/boot/dts/fsl/p1010si-post.dtsi b/arch/powerpc/boot/dts/fsl/p1010si-post.dtsi
index ccda0a91abf0..58a51cb9628b 100644
--- a/arch/powerpc/boot/dts/fsl/p1010si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p1010si-post.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1010/P1014 Silicon/SoC Device Tree Source (post include)
*
diff --git a/arch/powerpc/boot/dts/fsl/p1010si-pre.dtsi b/arch/powerpc/boot/dts/fsl/p1010si-pre.dtsi
index 6e76f9b282a1..4ba7af5cd93e 100644
--- a/arch/powerpc/boot/dts/fsl/p1010si-pre.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p1010si-pre.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1010/P1014 Silicon/SoC Device Tree Source (pre include)
*
diff --git a/arch/powerpc/boot/dts/fsl/p1020mbg-pc.dtsi b/arch/powerpc/boot/dts/fsl/p1020mbg-pc.dtsi
index a24699cfea9c..4afc1b5df162 100644
--- a/arch/powerpc/boot/dts/fsl/p1020mbg-pc.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p1020mbg-pc.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1020 MBG-PC Device Tree Source stub (no addresses or top-level ranges)
*
diff --git a/arch/powerpc/boot/dts/fsl/p1020mbg-pc_32b.dts b/arch/powerpc/boot/dts/fsl/p1020mbg-pc_32b.dts
index b29d1fcb5e6b..875f3a7430b5 100644
--- a/arch/powerpc/boot/dts/fsl/p1020mbg-pc_32b.dts
+++ b/arch/powerpc/boot/dts/fsl/p1020mbg-pc_32b.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1020 MBG-PC Device Tree Source (32-bit address map)
*
diff --git a/arch/powerpc/boot/dts/fsl/p1020mbg-pc_36b.dts b/arch/powerpc/boot/dts/fsl/p1020mbg-pc_36b.dts
index 678d0eec24e2..9ba04f94697e 100644
--- a/arch/powerpc/boot/dts/fsl/p1020mbg-pc_36b.dts
+++ b/arch/powerpc/boot/dts/fsl/p1020mbg-pc_36b.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1020 MBG-PC Device Tree Source (36-bit address map)
*
diff --git a/arch/powerpc/boot/dts/fsl/p1020rdb-pc.dtsi b/arch/powerpc/boot/dts/fsl/p1020rdb-pc.dtsi
index a13876c05c1e..e57a53e24a34 100644
--- a/arch/powerpc/boot/dts/fsl/p1020rdb-pc.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p1020rdb-pc.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1020 RDB-PC Device Tree Source stub (no addresses or top-level ranges)
*
diff --git a/arch/powerpc/boot/dts/fsl/p1020rdb-pc_32b.dts b/arch/powerpc/boot/dts/fsl/p1020rdb-pc_32b.dts
index 8175bf6f3e9c..5053b998c6f3 100644
--- a/arch/powerpc/boot/dts/fsl/p1020rdb-pc_32b.dts
+++ b/arch/powerpc/boot/dts/fsl/p1020rdb-pc_32b.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1020 RDB-PC Device Tree Source (32-bit address map)
*
diff --git a/arch/powerpc/boot/dts/fsl/p1020rdb-pc_36b.dts b/arch/powerpc/boot/dts/fsl/p1020rdb-pc_36b.dts
index 01c305795163..fd8f31a27c75 100644
--- a/arch/powerpc/boot/dts/fsl/p1020rdb-pc_36b.dts
+++ b/arch/powerpc/boot/dts/fsl/p1020rdb-pc_36b.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1020 RDB-PC Device Tree Source (36-bit address map)
*
diff --git a/arch/powerpc/boot/dts/fsl/p1020rdb-pd.dts b/arch/powerpc/boot/dts/fsl/p1020rdb-pd.dts
index f2dc6c09be52..3d716d5e5810 100644
--- a/arch/powerpc/boot/dts/fsl/p1020rdb-pd.dts
+++ b/arch/powerpc/boot/dts/fsl/p1020rdb-pd.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1020 RDB-PD Device Tree Source (32-bit address map)
*
diff --git a/arch/powerpc/boot/dts/fsl/p1020rdb.dtsi b/arch/powerpc/boot/dts/fsl/p1020rdb.dtsi
index 703142ee6627..d29de89e43f5 100644
--- a/arch/powerpc/boot/dts/fsl/p1020rdb.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p1020rdb.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1020 RDB Device Tree Source stub (no addresses or top-level ranges)
*
diff --git a/arch/powerpc/boot/dts/fsl/p1020si-post.dtsi b/arch/powerpc/boot/dts/fsl/p1020si-post.dtsi
index 642dc3a83d0e..6be919e8654e 100644
--- a/arch/powerpc/boot/dts/fsl/p1020si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p1020si-post.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1020/P1011 Silicon/SoC Device Tree Source (post include)
*
diff --git a/arch/powerpc/boot/dts/fsl/p1020si-pre.dtsi b/arch/powerpc/boot/dts/fsl/p1020si-pre.dtsi
index fed9c4c8d962..8b5583d67ce5 100644
--- a/arch/powerpc/boot/dts/fsl/p1020si-pre.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p1020si-pre.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1020/P1011 Silicon/SoC Device Tree Source (pre include)
*
diff --git a/arch/powerpc/boot/dts/fsl/p1020utm-pc.dtsi b/arch/powerpc/boot/dts/fsl/p1020utm-pc.dtsi
index 7ea85eabcc5c..5b2a5148018c 100644
--- a/arch/powerpc/boot/dts/fsl/p1020utm-pc.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p1020utm-pc.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1020 UTM-PC Device Tree Source stub (no addresses or top-level ranges)
*
diff --git a/arch/powerpc/boot/dts/fsl/p1020utm-pc_32b.dts b/arch/powerpc/boot/dts/fsl/p1020utm-pc_32b.dts
index bc03ef611f98..37ee1bf41f76 100644
--- a/arch/powerpc/boot/dts/fsl/p1020utm-pc_32b.dts
+++ b/arch/powerpc/boot/dts/fsl/p1020utm-pc_32b.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1020 UTM-PC Device Tree Source (32-bit address map)
*
diff --git a/arch/powerpc/boot/dts/fsl/p1020utm-pc_36b.dts b/arch/powerpc/boot/dts/fsl/p1020utm-pc_36b.dts
index 32766f6a475e..25219313e226 100644
--- a/arch/powerpc/boot/dts/fsl/p1020utm-pc_36b.dts
+++ b/arch/powerpc/boot/dts/fsl/p1020utm-pc_36b.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1020 UTM-PC Device Tree Source (36-bit address map)
*
diff --git a/arch/powerpc/boot/dts/fsl/p1021rdb-pc.dtsi b/arch/powerpc/boot/dts/fsl/p1021rdb-pc.dtsi
index 18f9b31602d0..01296071b4b0 100644
--- a/arch/powerpc/boot/dts/fsl/p1021rdb-pc.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p1021rdb-pc.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1021 RDB Device Tree Source stub (no addresses or top-level ranges)
*
diff --git a/arch/powerpc/boot/dts/fsl/p1021rdb-pc_32b.dts b/arch/powerpc/boot/dts/fsl/p1021rdb-pc_32b.dts
index d2b4710357ac..c3e9e3472cc4 100644
--- a/arch/powerpc/boot/dts/fsl/p1021rdb-pc_32b.dts
+++ b/arch/powerpc/boot/dts/fsl/p1021rdb-pc_32b.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1021 RDB Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/p1021rdb-pc_36b.dts b/arch/powerpc/boot/dts/fsl/p1021rdb-pc_36b.dts
index e298c29e5606..f1dfafc8e57d 100644
--- a/arch/powerpc/boot/dts/fsl/p1021rdb-pc_36b.dts
+++ b/arch/powerpc/boot/dts/fsl/p1021rdb-pc_36b.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1021 RDB Device Tree Source (36-bit address map)
*
diff --git a/arch/powerpc/boot/dts/fsl/p1021si-post.dtsi b/arch/powerpc/boot/dts/fsl/p1021si-post.dtsi
index 407cb5fd0f5b..679fbf81a101 100644
--- a/arch/powerpc/boot/dts/fsl/p1021si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p1021si-post.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1021/P1012 Silicon/SoC Device Tree Source (post include)
*
diff --git a/arch/powerpc/boot/dts/fsl/p1021si-pre.dtsi b/arch/powerpc/boot/dts/fsl/p1021si-pre.dtsi
index 36161b500176..9faaa86f9285 100644
--- a/arch/powerpc/boot/dts/fsl/p1021si-pre.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p1021si-pre.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1021/P1012 Silicon/SoC Device Tree Source (pre include)
*
diff --git a/arch/powerpc/boot/dts/fsl/p1022ds.dtsi b/arch/powerpc/boot/dts/fsl/p1022ds.dtsi
index ddefbf64f7f8..b78fab702a1e 100644
--- a/arch/powerpc/boot/dts/fsl/p1022ds.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p1022ds.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1022 DS Device Tree Source stub (no addresses or top-level ranges)
*
diff --git a/arch/powerpc/boot/dts/fsl/p1022ds_32b.dts b/arch/powerpc/boot/dts/fsl/p1022ds_32b.dts
index 5a7eaceb9e8e..0656b0d8555e 100644
--- a/arch/powerpc/boot/dts/fsl/p1022ds_32b.dts
+++ b/arch/powerpc/boot/dts/fsl/p1022ds_32b.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1022 DS 32-bit Physical Address Map Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/p1022ds_36b.dts b/arch/powerpc/boot/dts/fsl/p1022ds_36b.dts
index 88063cd9e20a..2cdc56b2c099 100644
--- a/arch/powerpc/boot/dts/fsl/p1022ds_36b.dts
+++ b/arch/powerpc/boot/dts/fsl/p1022ds_36b.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1022 DS 36-bit Physical Address Map Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/p1022rdk.dts b/arch/powerpc/boot/dts/fsl/p1022rdk.dts
index 29e8af1e3711..c04f50f08bd1 100644
--- a/arch/powerpc/boot/dts/fsl/p1022rdk.dts
+++ b/arch/powerpc/boot/dts/fsl/p1022rdk.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1022 RDK 32-bit Physical Address Map Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/p1022si-post.dtsi b/arch/powerpc/boot/dts/fsl/p1022si-post.dtsi
index 5f51b7bfc064..4e908ffb29ee 100644
--- a/arch/powerpc/boot/dts/fsl/p1022si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p1022si-post.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1022/P1013 Silicon/SoC Device Tree Source (post include)
*
diff --git a/arch/powerpc/boot/dts/fsl/p1022si-pre.dtsi b/arch/powerpc/boot/dts/fsl/p1022si-pre.dtsi
index de76ae8992c6..965db8de84fe 100644
--- a/arch/powerpc/boot/dts/fsl/p1022si-pre.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p1022si-pre.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1022/P1013 Silicon/SoC Device Tree Source (pre include)
*
diff --git a/arch/powerpc/boot/dts/fsl/p1023rdb.dts b/arch/powerpc/boot/dts/fsl/p1023rdb.dts
index ead928364beb..60293c4cd828 100644
--- a/arch/powerpc/boot/dts/fsl/p1023rdb.dts
+++ b/arch/powerpc/boot/dts/fsl/p1023rdb.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1023 RDB Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/p1023si-post.dtsi b/arch/powerpc/boot/dts/fsl/p1023si-post.dtsi
index da6d3fc6ba41..aa2cec450159 100644
--- a/arch/powerpc/boot/dts/fsl/p1023si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p1023si-post.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1023/P1017 Silicon/SoC Device Tree Source (post include)
*
diff --git a/arch/powerpc/boot/dts/fsl/p1023si-pre.dtsi b/arch/powerpc/boot/dts/fsl/p1023si-pre.dtsi
index 132a1521921a..3348221cda85 100644
--- a/arch/powerpc/boot/dts/fsl/p1023si-pre.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p1023si-pre.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1023/P1017 Silicon/SoC Device Tree Source (pre include)
*
diff --git a/arch/powerpc/boot/dts/fsl/p1024rdb.dtsi b/arch/powerpc/boot/dts/fsl/p1024rdb.dtsi
index b4d05867f707..98c972a465c4 100644
--- a/arch/powerpc/boot/dts/fsl/p1024rdb.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p1024rdb.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1024 RDB Device Tree Source stub (no addresses or top-level ranges)
*
diff --git a/arch/powerpc/boot/dts/fsl/p1024rdb_32b.dts b/arch/powerpc/boot/dts/fsl/p1024rdb_32b.dts
index 8b09b9d56ad1..13a8a3e7dde7 100644
--- a/arch/powerpc/boot/dts/fsl/p1024rdb_32b.dts
+++ b/arch/powerpc/boot/dts/fsl/p1024rdb_32b.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1024 RDB 32Bit Physical Address Map Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/p1024rdb_36b.dts b/arch/powerpc/boot/dts/fsl/p1024rdb_36b.dts
index e7093aef28f1..78ceb9b7a110 100644
--- a/arch/powerpc/boot/dts/fsl/p1024rdb_36b.dts
+++ b/arch/powerpc/boot/dts/fsl/p1024rdb_36b.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1024 RDB 36Bit Physical Address Map Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/p1025rdb.dtsi b/arch/powerpc/boot/dts/fsl/p1025rdb.dtsi
index 0a5434a631c3..cc16ea431c5c 100644
--- a/arch/powerpc/boot/dts/fsl/p1025rdb.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p1025rdb.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1025 RDB Device Tree Source stub (no addresses or top-level ranges)
*
diff --git a/arch/powerpc/boot/dts/fsl/p1025rdb_32b.dts b/arch/powerpc/boot/dts/fsl/p1025rdb_32b.dts
index ea33b57f8774..fb160a1b0731 100644
--- a/arch/powerpc/boot/dts/fsl/p1025rdb_32b.dts
+++ b/arch/powerpc/boot/dts/fsl/p1025rdb_32b.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1025 RDB Device Tree Source (32-bit address map)
*
diff --git a/arch/powerpc/boot/dts/fsl/p1025rdb_36b.dts b/arch/powerpc/boot/dts/fsl/p1025rdb_36b.dts
index b0ded5e8bd0b..8b7d23228909 100644
--- a/arch/powerpc/boot/dts/fsl/p1025rdb_36b.dts
+++ b/arch/powerpc/boot/dts/fsl/p1025rdb_36b.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1025 RDB Device Tree Source (36-bit address map)
*
diff --git a/arch/powerpc/boot/dts/fsl/p1025twr.dts b/arch/powerpc/boot/dts/fsl/p1025twr.dts
index 9b8863b74b60..a7819088d68e 100644
--- a/arch/powerpc/boot/dts/fsl/p1025twr.dts
+++ b/arch/powerpc/boot/dts/fsl/p1025twr.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1025 TWR Device Tree Source (32-bit address map)
*
diff --git a/arch/powerpc/boot/dts/fsl/p1025twr.dtsi b/arch/powerpc/boot/dts/fsl/p1025twr.dtsi
index ab75b8f29ae2..f08a0a7bd483 100644
--- a/arch/powerpc/boot/dts/fsl/p1025twr.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p1025twr.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P1025 TWR Device Tree Source stub (no addresses or top-level ranges)
*
diff --git a/arch/powerpc/boot/dts/fsl/p2020ds.dtsi b/arch/powerpc/boot/dts/fsl/p2020ds.dtsi
index e699cf95b063..2e68e28aeb7f 100644
--- a/arch/powerpc/boot/dts/fsl/p2020ds.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p2020ds.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P2020DS Device Tree Source stub (no addresses or top-level ranges)
*
diff --git a/arch/powerpc/boot/dts/fsl/p2020rdb-pc.dtsi b/arch/powerpc/boot/dts/fsl/p2020rdb-pc.dtsi
index 03c9afc82436..0e132701de53 100644
--- a/arch/powerpc/boot/dts/fsl/p2020rdb-pc.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p2020rdb-pc.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P2020 RDB-PC Device Tree Source stub (no addresses or top-level ranges)
*
diff --git a/arch/powerpc/boot/dts/fsl/p2020rdb-pc_32b.dts b/arch/powerpc/boot/dts/fsl/p2020rdb-pc_32b.dts
index d3295c204bbf..fb5800750605 100644
--- a/arch/powerpc/boot/dts/fsl/p2020rdb-pc_32b.dts
+++ b/arch/powerpc/boot/dts/fsl/p2020rdb-pc_32b.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P2020 RDB-PC 32Bit Physical Address Map Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/p2020rdb-pc_36b.dts b/arch/powerpc/boot/dts/fsl/p2020rdb-pc_36b.dts
index 9307a8f41ddb..ec118a384253 100644
--- a/arch/powerpc/boot/dts/fsl/p2020rdb-pc_36b.dts
+++ b/arch/powerpc/boot/dts/fsl/p2020rdb-pc_36b.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P2020 RDB-PC 36Bit Physical Address Map Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/p2020si-post.dtsi b/arch/powerpc/boot/dts/fsl/p2020si-post.dtsi
index 884e01bcb243..5d6d66ab4b49 100644
--- a/arch/powerpc/boot/dts/fsl/p2020si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p2020si-post.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P2020/P2010 Silicon/SoC Device Tree Source (post include)
*
diff --git a/arch/powerpc/boot/dts/fsl/p2020si-pre.dtsi b/arch/powerpc/boot/dts/fsl/p2020si-pre.dtsi
index 42bf3c6d25ca..ce2cf36eb40d 100644
--- a/arch/powerpc/boot/dts/fsl/p2020si-pre.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p2020si-pre.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P2020/P2010 Silicon/SoC Device Tree Source (pre include)
*
diff --git a/arch/powerpc/boot/dts/fsl/p2041rdb.dts b/arch/powerpc/boot/dts/fsl/p2041rdb.dts
index 950816b9d6e1..d06996847567 100644
--- a/arch/powerpc/boot/dts/fsl/p2041rdb.dts
+++ b/arch/powerpc/boot/dts/fsl/p2041rdb.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P2041RDB Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/p2041si-post.dtsi b/arch/powerpc/boot/dts/fsl/p2041si-post.dtsi
index ddc018d42252..632bee3c1f08 100644
--- a/arch/powerpc/boot/dts/fsl/p2041si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p2041si-post.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P2041/P2040 Silicon/SoC Device Tree Source (post include)
*
diff --git a/arch/powerpc/boot/dts/fsl/p2041si-pre.dtsi b/arch/powerpc/boot/dts/fsl/p2041si-pre.dtsi
index 6318962e8d14..df0c64eda5a6 100644
--- a/arch/powerpc/boot/dts/fsl/p2041si-pre.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p2041si-pre.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P2041 Silicon/SoC Device Tree Source (pre include)
*
diff --git a/arch/powerpc/boot/dts/fsl/p3041ds.dts b/arch/powerpc/boot/dts/fsl/p3041ds.dts
index 6f5f7283c533..02e4ad42ce08 100644
--- a/arch/powerpc/boot/dts/fsl/p3041ds.dts
+++ b/arch/powerpc/boot/dts/fsl/p3041ds.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P3041DS Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/p3041si-post.dtsi b/arch/powerpc/boot/dts/fsl/p3041si-post.dtsi
index 81bc75aca2e0..894d13cc9b73 100644
--- a/arch/powerpc/boot/dts/fsl/p3041si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p3041si-post.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P3041 Silicon/SoC Device Tree Source (post include)
*
diff --git a/arch/powerpc/boot/dts/fsl/p3041si-pre.dtsi b/arch/powerpc/boot/dts/fsl/p3041si-pre.dtsi
index db92f1151a48..e5741a7d1159 100644
--- a/arch/powerpc/boot/dts/fsl/p3041si-pre.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p3041si-pre.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P3041 Silicon/SoC Device Tree Source (pre include)
*
diff --git a/arch/powerpc/boot/dts/fsl/p4080ds.dts b/arch/powerpc/boot/dts/fsl/p4080ds.dts
index 969b32c4f2d5..8e5adb10d546 100644
--- a/arch/powerpc/boot/dts/fsl/p4080ds.dts
+++ b/arch/powerpc/boot/dts/fsl/p4080ds.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P4080DS Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/p4080si-post.dtsi b/arch/powerpc/boot/dts/fsl/p4080si-post.dtsi
index 4da49b6dd3f5..bc215249883d 100644
--- a/arch/powerpc/boot/dts/fsl/p4080si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p4080si-post.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P4080/P4040 Silicon/SoC Device Tree Source (post include)
*
diff --git a/arch/powerpc/boot/dts/fsl/p4080si-pre.dtsi b/arch/powerpc/boot/dts/fsl/p4080si-pre.dtsi
index 0a7c65a00e5e..c6fd332dea15 100644
--- a/arch/powerpc/boot/dts/fsl/p4080si-pre.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p4080si-pre.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P4080/P4040 Silicon/SoC Device Tree Source (pre include)
*
diff --git a/arch/powerpc/boot/dts/fsl/p5020ds.dts b/arch/powerpc/boot/dts/fsl/p5020ds.dts
index b24adf902d8d..683bb1f961fd 100644
--- a/arch/powerpc/boot/dts/fsl/p5020ds.dts
+++ b/arch/powerpc/boot/dts/fsl/p5020ds.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P5020DS Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/p5020si-post.dtsi b/arch/powerpc/boot/dts/fsl/p5020si-post.dtsi
index cd008cdd2889..719ffc2ed777 100644
--- a/arch/powerpc/boot/dts/fsl/p5020si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p5020si-post.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P5020/5010 Silicon/SoC Device Tree Source (post include)
*
diff --git a/arch/powerpc/boot/dts/fsl/p5020si-pre.dtsi b/arch/powerpc/boot/dts/fsl/p5020si-pre.dtsi
index 2d74ea85e5df..4286e06ee5b5 100644
--- a/arch/powerpc/boot/dts/fsl/p5020si-pre.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p5020si-pre.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P5020/P5010 Silicon/SoC Device Tree Source (pre include)
*
diff --git a/arch/powerpc/boot/dts/fsl/p5040ds.dts b/arch/powerpc/boot/dts/fsl/p5040ds.dts
index 30850b3228e0..e92c149a6c2d 100644
--- a/arch/powerpc/boot/dts/fsl/p5040ds.dts
+++ b/arch/powerpc/boot/dts/fsl/p5040ds.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P5040DS Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/p5040si-post.dtsi b/arch/powerpc/boot/dts/fsl/p5040si-post.dtsi
index 16b454b504e2..61af9c41bc49 100644
--- a/arch/powerpc/boot/dts/fsl/p5040si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p5040si-post.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P5040 Silicon/SoC Device Tree Source (post include)
*
diff --git a/arch/powerpc/boot/dts/fsl/p5040si-pre.dtsi b/arch/powerpc/boot/dts/fsl/p5040si-pre.dtsi
index ed89dbbdacf0..2bff85834a63 100644
--- a/arch/powerpc/boot/dts/fsl/p5040si-pre.dtsi
+++ b/arch/powerpc/boot/dts/fsl/p5040si-pre.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* P5040 Silicon/SoC Device Tree Source (pre include)
*
diff --git a/arch/powerpc/boot/dts/fsl/pq3-dma-0.dtsi b/arch/powerpc/boot/dts/fsl/pq3-dma-0.dtsi
index b5b37ad30e75..11ff0ec76303 100644
--- a/arch/powerpc/boot/dts/fsl/pq3-dma-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/pq3-dma-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* PQ3 DMA device tree stub [ controller @ offset 0x21000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/pq3-dma-1.dtsi b/arch/powerpc/boot/dts/fsl/pq3-dma-1.dtsi
index 28cb8a55d807..841e0603ce15 100644
--- a/arch/powerpc/boot/dts/fsl/pq3-dma-1.dtsi
+++ b/arch/powerpc/boot/dts/fsl/pq3-dma-1.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* PQ3 DMA device tree stub [ controller @ offset 0xc300 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/pq3-duart-0.dtsi b/arch/powerpc/boot/dts/fsl/pq3-duart-0.dtsi
index 5e268fdb9d1f..f2ed31d9b165 100644
--- a/arch/powerpc/boot/dts/fsl/pq3-duart-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/pq3-duart-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* PQ3 DUART device tree stub [ controller @ offset 0x4000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/pq3-esdhc-0.dtsi b/arch/powerpc/boot/dts/fsl/pq3-esdhc-0.dtsi
index 5743433e278e..7bdf7e17b138 100644
--- a/arch/powerpc/boot/dts/fsl/pq3-esdhc-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/pq3-esdhc-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* PQ3 eSDHC device tree stub [ controller @ offset 0x2e000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/pq3-espi-0.dtsi b/arch/powerpc/boot/dts/fsl/pq3-espi-0.dtsi
index 75854b2e0391..928144ffb754 100644
--- a/arch/powerpc/boot/dts/fsl/pq3-espi-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/pq3-espi-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* PQ3 eSPI device tree stub [ controller @ offset 0x7000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/pq3-etsec1-0.dtsi b/arch/powerpc/boot/dts/fsl/pq3-etsec1-0.dtsi
index 3b0650a98478..7f7c4fbfecd8 100644
--- a/arch/powerpc/boot/dts/fsl/pq3-etsec1-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/pq3-etsec1-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* PQ3 eTSEC device tree stub [ @ offsets 0x24000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/pq3-etsec1-1.dtsi b/arch/powerpc/boot/dts/fsl/pq3-etsec1-1.dtsi
index 96693b41f0f1..db91f98d6117 100644
--- a/arch/powerpc/boot/dts/fsl/pq3-etsec1-1.dtsi
+++ b/arch/powerpc/boot/dts/fsl/pq3-etsec1-1.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* PQ3 eTSEC device tree stub [ @ offsets 0x25000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/pq3-etsec1-2.dtsi b/arch/powerpc/boot/dts/fsl/pq3-etsec1-2.dtsi
index 6b3fab19da1f..63cdb5e29445 100644
--- a/arch/powerpc/boot/dts/fsl/pq3-etsec1-2.dtsi
+++ b/arch/powerpc/boot/dts/fsl/pq3-etsec1-2.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* PQ3 eTSEC device tree stub [ @ offsets 0x26000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/pq3-etsec1-3.dtsi b/arch/powerpc/boot/dts/fsl/pq3-etsec1-3.dtsi
index 0da592d93ddd..6afb3ea69715 100644
--- a/arch/powerpc/boot/dts/fsl/pq3-etsec1-3.dtsi
+++ b/arch/powerpc/boot/dts/fsl/pq3-etsec1-3.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* PQ3 eTSEC device tree stub [ @ offsets 0x27000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/pq3-etsec1-timer-0.dtsi b/arch/powerpc/boot/dts/fsl/pq3-etsec1-timer-0.dtsi
index efe2ca04bce8..a94b26a94c61 100644
--- a/arch/powerpc/boot/dts/fsl/pq3-etsec1-timer-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/pq3-etsec1-timer-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* PQ3 eTSEC Timer (IEEE 1588) device tree stub [ @ offsets 0x24e00 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/pq3-etsec2-0.dtsi b/arch/powerpc/boot/dts/fsl/pq3-etsec2-0.dtsi
index 7fcb1ac0f232..ba69277b2c06 100644
--- a/arch/powerpc/boot/dts/fsl/pq3-etsec2-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/pq3-etsec2-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* PQ3 eTSEC2 device tree stub [ @ offsets 0x24000/0xb0000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/pq3-etsec2-1.dtsi b/arch/powerpc/boot/dts/fsl/pq3-etsec2-1.dtsi
index 9f25427c1527..b56d698f3f51 100644
--- a/arch/powerpc/boot/dts/fsl/pq3-etsec2-1.dtsi
+++ b/arch/powerpc/boot/dts/fsl/pq3-etsec2-1.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* PQ3 eTSEC2 device tree stub [ @ offsets 0x25000/0xb1000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/pq3-etsec2-2.dtsi b/arch/powerpc/boot/dts/fsl/pq3-etsec2-2.dtsi
index cd7c318ab131..8e3e94ca98ae 100644
--- a/arch/powerpc/boot/dts/fsl/pq3-etsec2-2.dtsi
+++ b/arch/powerpc/boot/dts/fsl/pq3-etsec2-2.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* PQ3 eTSEC2 device tree stub [ @ offsets 0x26000/0xb2000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/pq3-etsec2-grp2-0.dtsi b/arch/powerpc/boot/dts/fsl/pq3-etsec2-grp2-0.dtsi
index 034ab8fac22f..b5d65de67320 100644
--- a/arch/powerpc/boot/dts/fsl/pq3-etsec2-grp2-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/pq3-etsec2-grp2-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* PQ3 eTSEC2 Group 2 device tree stub [ @ offsets 0xb4000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/pq3-etsec2-grp2-1.dtsi b/arch/powerpc/boot/dts/fsl/pq3-etsec2-grp2-1.dtsi
index 3be9ba3b374e..70136346c0fa 100644
--- a/arch/powerpc/boot/dts/fsl/pq3-etsec2-grp2-1.dtsi
+++ b/arch/powerpc/boot/dts/fsl/pq3-etsec2-grp2-1.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* PQ3 eTSEC2 Group 2 device tree stub [ @ offsets 0xb5000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/pq3-etsec2-grp2-2.dtsi b/arch/powerpc/boot/dts/fsl/pq3-etsec2-grp2-2.dtsi
index 02a33457048c..88fbdb8c7836 100644
--- a/arch/powerpc/boot/dts/fsl/pq3-etsec2-grp2-2.dtsi
+++ b/arch/powerpc/boot/dts/fsl/pq3-etsec2-grp2-2.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* PQ3 eTSEC2 Group 2 device tree stub [ @ offsets 0xb6000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/pq3-gpio-0.dtsi b/arch/powerpc/boot/dts/fsl/pq3-gpio-0.dtsi
index a1b48546b02d..4ce219edcddd 100644
--- a/arch/powerpc/boot/dts/fsl/pq3-gpio-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/pq3-gpio-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* PQ3 GPIO device tree stub [ controller @ offset 0xfc00 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/pq3-i2c-0.dtsi b/arch/powerpc/boot/dts/fsl/pq3-i2c-0.dtsi
index d1dd6fb82a78..208b965372b5 100644
--- a/arch/powerpc/boot/dts/fsl/pq3-i2c-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/pq3-i2c-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* PQ3 I2C device tree stub [ controller @ offset 0x3000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/pq3-i2c-1.dtsi b/arch/powerpc/boot/dts/fsl/pq3-i2c-1.dtsi
index a9bd803e2090..f4f6c191faf8 100644
--- a/arch/powerpc/boot/dts/fsl/pq3-i2c-1.dtsi
+++ b/arch/powerpc/boot/dts/fsl/pq3-i2c-1.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* PQ3 I2C device tree stub [ controller @ offset 0x3100 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/pq3-mpic-message-B.dtsi b/arch/powerpc/boot/dts/fsl/pq3-mpic-message-B.dtsi
index 1cf0b77b1efe..6e80d086cc08 100644
--- a/arch/powerpc/boot/dts/fsl/pq3-mpic-message-B.dtsi
+++ b/arch/powerpc/boot/dts/fsl/pq3-mpic-message-B.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* PQ3 MPIC Message (Group B) device tree stub [ controller @ offset 0x42400 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/pq3-mpic-timer-B.dtsi b/arch/powerpc/boot/dts/fsl/pq3-mpic-timer-B.dtsi
index 8734cffae1a1..a2e6750c63ec 100644
--- a/arch/powerpc/boot/dts/fsl/pq3-mpic-timer-B.dtsi
+++ b/arch/powerpc/boot/dts/fsl/pq3-mpic-timer-B.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* PQ3 MPIC Timer (Group B) device tree stub [ controller @ offset 0x42100 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/pq3-mpic.dtsi b/arch/powerpc/boot/dts/fsl/pq3-mpic.dtsi
index 71c30eb10056..e63eb98957a3 100644
--- a/arch/powerpc/boot/dts/fsl/pq3-mpic.dtsi
+++ b/arch/powerpc/boot/dts/fsl/pq3-mpic.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* PQ3 MPIC device tree stub [ controller @ offset 0x40000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/pq3-rmu-0.dtsi b/arch/powerpc/boot/dts/fsl/pq3-rmu-0.dtsi
index 587ca9ffad7d..28f7d517d924 100644
--- a/arch/powerpc/boot/dts/fsl/pq3-rmu-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/pq3-rmu-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* PQ3 RIO Message Unit device tree stub [ controller @ offset 0xd3000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/pq3-sata2-0.dtsi b/arch/powerpc/boot/dts/fsl/pq3-sata2-0.dtsi
index 3c28dd08d38b..0990a7394f44 100644
--- a/arch/powerpc/boot/dts/fsl/pq3-sata2-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/pq3-sata2-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* PQ3 SATAv2 device tree stub [ controller @ offset 0x18000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/pq3-sata2-1.dtsi b/arch/powerpc/boot/dts/fsl/pq3-sata2-1.dtsi
index eefaf2855e3b..228c68c38aa8 100644
--- a/arch/powerpc/boot/dts/fsl/pq3-sata2-1.dtsi
+++ b/arch/powerpc/boot/dts/fsl/pq3-sata2-1.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* PQ3 SATAv2 device tree stub [ controller @ offset 0x19000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/pq3-sec2.1-0.dtsi b/arch/powerpc/boot/dts/fsl/pq3-sec2.1-0.dtsi
index 02a5c7ae72d0..8b13ae276f80 100644
--- a/arch/powerpc/boot/dts/fsl/pq3-sec2.1-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/pq3-sec2.1-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* PQ3 Sec/Crypto 2.1 device tree stub [ controller @ offset 0x30000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/pq3-sec3.0-0.dtsi b/arch/powerpc/boot/dts/fsl/pq3-sec3.0-0.dtsi
index bba1ba44ccf0..6c8b51d2dd94 100644
--- a/arch/powerpc/boot/dts/fsl/pq3-sec3.0-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/pq3-sec3.0-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* PQ3 Sec/Crypto 3.0 device tree stub [ controller @ offset 0x30000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/pq3-sec3.1-0.dtsi b/arch/powerpc/boot/dts/fsl/pq3-sec3.1-0.dtsi
index 8f0a5669bee5..c159f1e3f01c 100644
--- a/arch/powerpc/boot/dts/fsl/pq3-sec3.1-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/pq3-sec3.1-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* PQ3 Sec/Crypto 3.1 device tree stub [ controller @ offset 0x30000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/pq3-sec3.3-0.dtsi b/arch/powerpc/boot/dts/fsl/pq3-sec3.3-0.dtsi
index c227f2748a24..b68dc089ef17 100644
--- a/arch/powerpc/boot/dts/fsl/pq3-sec3.3-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/pq3-sec3.3-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* PQ3 Sec/Crypto 3.3 device tree stub [ controller @ offset 0x30000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/pq3-sec4.4-0.dtsi b/arch/powerpc/boot/dts/fsl/pq3-sec4.4-0.dtsi
index bb3d8266b5ce..70811fb689b7 100644
--- a/arch/powerpc/boot/dts/fsl/pq3-sec4.4-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/pq3-sec4.4-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* PQ3 Sec/Crypto 4.4 device tree stub [ controller @ offset 0x30000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/pq3-usb2-dr-0.dtsi b/arch/powerpc/boot/dts/fsl/pq3-usb2-dr-0.dtsi
index 185ab9dc3ecd..24a0caec1540 100644
--- a/arch/powerpc/boot/dts/fsl/pq3-usb2-dr-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/pq3-usb2-dr-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* PQ3 USB DR device tree stub [ controller @ offset 0x22000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/pq3-usb2-dr-1.dtsi b/arch/powerpc/boot/dts/fsl/pq3-usb2-dr-1.dtsi
index fe24cd612fff..00b51c645734 100644
--- a/arch/powerpc/boot/dts/fsl/pq3-usb2-dr-1.dtsi
+++ b/arch/powerpc/boot/dts/fsl/pq3-usb2-dr-1.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* PQ3 USB DR device tree stub [ controller @ offset 0x23000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qonverge-usb2-dr-0.dtsi b/arch/powerpc/boot/dts/fsl/qonverge-usb2-dr-0.dtsi
index fcc7e5b7fd47..c69c2f4eb571 100644
--- a/arch/powerpc/boot/dts/fsl/qonverge-usb2-dr-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qonverge-usb2-dr-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ Qonverge USB Host device tree stub [ controller @ offset 0x210000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-bman1-portals.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-bman1-portals.dtsi
index 5022432ebaa9..a48d0daf1d05 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-bman1-portals.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-bman1-portals.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ BMan Portal device tree stub for 10 portals
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-bman1.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-bman1.dtsi
index 3b5e3504acb7..1af32f8dd347 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-bman1.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-bman1.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ BMan device tree stub [ controller @ offset 0x31a000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-clockgen1.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-clockgen1.dtsi
index 463c1ed9ffdd..abfcf25a9192 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-clockgen1.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-clockgen1.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ clock control device tree stub [ controller @ offset 0xe1000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-clockgen2.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-clockgen2.dtsi
index 0361050bb56a..d4d3b7b00bdb 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-clockgen2.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-clockgen2.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ clock control device tree stub [ controller @ offset 0xe1000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-dma-0.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-dma-0.dtsi
index 1aebf3ea4ca5..c9334eb48b41 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-dma-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-dma-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ DMA device tree stub [ controller @ offset 0x100000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-dma-1.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-dma-1.dtsi
index ecf5e180fe79..f59c384dcac2 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-dma-1.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-dma-1.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ DMA device tree stub [ controller @ offset 0x101000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-duart-0.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-duart-0.dtsi
index 225c07b4e8ab..3eef9343cdce 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-duart-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-duart-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ DUART device tree stub [ controller @ offset 0x11c000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-duart-1.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-duart-1.dtsi
index d23233a56b91..15f98ff3264a 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-duart-1.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-duart-1.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ DUART device tree stub [ controller @ offset 0x11d000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-esdhc-0.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-esdhc-0.dtsi
index 20835ae216c7..afcf1621f6cd 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-esdhc-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-esdhc-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ eSDHC device tree stub [ controller @ offset 0x114000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-espi-0.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-espi-0.dtsi
index 6db06975e095..4736ee1c16a4 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-espi-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-espi-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ eSPI device tree stub [ controller @ offset 0x110000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman-0-10g-0.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman-0-10g-0.dtsi
index eb77675c255a..c7586e443c74 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman-0-10g-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman-0-10g-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ FMan 10g port #0 device tree stub [ controller @ offset 0x400000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman-0-1g-0.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman-0-1g-0.dtsi
index b965bc219bae..0582ab28e72e 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman-0-1g-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman-0-1g-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ FMan 1g port #0 device tree stub [ controller @ offset 0x400000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman-0-1g-1.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman-0-1g-1.dtsi
index 9eb6e6dd7cf9..dd199fdcce67 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman-0-1g-1.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman-0-1g-1.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ FMan 1g port #1 device tree stub [ controller @ offset 0x400000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman-0-1g-2.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman-0-1g-2.dtsi
index 092b89936743..65277c2d2e88 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman-0-1g-2.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman-0-1g-2.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ FMan 1g port #2 device tree stub [ controller @ offset 0x400000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman-0-1g-3.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman-0-1g-3.dtsi
index 2df0dc876045..7510bbd16216 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman-0-1g-3.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman-0-1g-3.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ FMan 1g port #3 device tree stub [ controller @ offset 0x400000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman-0-1g-4.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman-0-1g-4.dtsi
index 5fceb2438fdc..da57416cb74b 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman-0-1g-4.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman-0-1g-4.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ FMan 1g port #4 device tree stub [ controller @ offset 0x400000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman-0.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman-0.dtsi
index 9b6cf9149937..886444dde530 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ FMan device tree stub [ controller @ offset 0x400000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman-1-10g-0.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman-1-10g-0.dtsi
index 83ae87b69d92..8b2795eb813a 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman-1-10g-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman-1-10g-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ FMan 10g port #0 device tree stub [ controller @ offset 0x500000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman-1-1g-0.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman-1-1g-0.dtsi
index b0f0e36a4eac..d3d89c95a308 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman-1-1g-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman-1-1g-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ FMan 1g port #0 device tree stub [ controller @ offset 0x500000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman-1-1g-1.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman-1-1g-1.dtsi
index a3a79f8552a3..3d5e30833b96 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman-1-1g-1.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman-1-1g-1.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ FMan 1g port #1 device tree stub [ controller @ offset 0x500000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman-1-1g-2.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman-1-1g-2.dtsi
index 96a69a84b8a8..cf7052524f93 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman-1-1g-2.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman-1-1g-2.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ FMan 1g port #2 device tree stub [ controller @ offset 0x500000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman-1-1g-3.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman-1-1g-3.dtsi
index 7405d1940133..1755bd716cb6 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman-1-1g-3.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman-1-1g-3.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ FMan 1g port #3 device tree stub [ controller @ offset 0x500000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman-1-1g-4.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman-1-1g-4.dtsi
index f49ad69e5212..527f999706b9 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman-1-1g-4.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman-1-1g-4.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ FMan 1g port #4 device tree stub [ controller @ offset 0x500000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman-1.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman-1.dtsi
index e95c11ff0417..b4ba854f3de9 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman-1.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman-1.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ FMan device tree stub [ controller @ offset 0x500000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-0-best-effort.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-0-best-effort.dtsi
index baa0c503e741..c3d581c7824d 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-0-best-effort.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-0-best-effort.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ FMan v3 1g port #0 device tree stub [ controller @ offset 0x400000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-0.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-0.dtsi
index 93095600e808..ee3ce10531aa 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ FMan v3 10g port #0 device tree stub [ controller @ offset 0x400000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-1-best-effort.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-1-best-effort.dtsi
index ff4bd38f0645..06a8500e0dcf 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-1-best-effort.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-1-best-effort.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ FMan v3 1g port #1 device tree stub [ controller @ offset 0x400000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-1.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-1.dtsi
index 1fa38ed6f59e..bb6026e466c5 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-1.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-1.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ FMan v3 10g port #1 device tree stub [ controller @ offset 0x400000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-0.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-0.dtsi
index a8cc9780c0c4..988adec1a073 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ FMan v3 1g port #0 device tree stub [ controller @ offset 0x400000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-1.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-1.dtsi
index 8b8bd70c9382..c4158a1514a8 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-1.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-1.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ FMan v3 1g port #1 device tree stub [ controller @ offset 0x400000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-2.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-2.dtsi
index 619c880b54d8..f3db8cba1cf7 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-2.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-2.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ FMan v3 1g port #2 device tree stub [ controller @ offset 0x400000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-3.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-3.dtsi
index d7ebb73a400d..1bf79e529881 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-3.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-3.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ FMan v3 1g port #3 device tree stub [ controller @ offset 0x400000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-4.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-4.dtsi
index b151d696a069..65ddaec3a92f 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-4.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-4.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ FMan v3 1g port #4 device tree stub [ controller @ offset 0x400000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-5.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-5.dtsi
index adc0ae0013a3..74c44946e3b4 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-5.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-1g-5.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ FMan v3 1g port #5 device tree stub [ controller @ offset 0x400000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0.dtsi
index d62b36c5a329..46637110beea 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ FMan v3 device tree stub [ controller @ offset 0x400000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-0.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-0.dtsi
index 435047e0e250..68d42445c13d 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ FMan v3 10g port #0 device tree stub [ controller @ offset 0x500000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-1.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-1.dtsi
index c098657cca0a..9d31febcdef6 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-1.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-10g-1.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ FMan v3 10g port #1 device tree stub [ controller @ offset 0x500000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-0.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-0.dtsi
index 9d06824815f3..fe948e1a6ac1 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ FMan v3 1g port #0 device tree stub [ controller @ offset 0x500000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-1.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-1.dtsi
index 70e947730c4b..f0e42c562a5c 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-1.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-1.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ FMan v3 1g port #1 device tree stub [ controller @ offset 0x500000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-2.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-2.dtsi
index ad96e6529595..114b13abd140 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-2.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-2.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ FMan v3 1g port #2 device tree stub [ controller @ offset 0x500000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-3.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-3.dtsi
index 034bc4b71f7a..38f7552aac23 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-3.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-3.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ FMan v3 1g port #3 device tree stub [ controller @ offset 0x500000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-4.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-4.dtsi
index 93ca23d82b39..ec05e5c7780a 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-4.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-4.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ FMan v3 1g port #4 device tree stub [ controller @ offset 0x500000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-5.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-5.dtsi
index 23b3117a2fd2..5cfae0913b8c 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-5.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1-1g-5.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ FMan v3 1g port #5 device tree stub [ controller @ offset 0x500000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1.dtsi
index 310232460500..998513339003 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3-1.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3-1.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ FMan v3 device tree stub [ controller @ offset 0x500000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-fman3l-0.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-fman3l-0.dtsi
index c90702b04a53..93e93d18ba62 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-fman3l-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-fman3l-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ FMan v3 device tree stub [ controller @ offset 0x400000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-gpio-0.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-gpio-0.dtsi
index cf714f5f68bc..ca4c342d2c9e 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-gpio-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-gpio-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ GPIO device tree stub [ controller @ offset 0x130000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-gpio-1.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-gpio-1.dtsi
index c2f9cdadb604..0832d3816c5f 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-gpio-1.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-gpio-1.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ GPIO device tree stub [ controller @ offset 0x131000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-gpio-2.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-gpio-2.dtsi
index 33f3ccbac83f..53bcb10d7cd2 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-gpio-2.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-gpio-2.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ GPIO device tree stub [ controller @ offset 0x132000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-gpio-3.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-gpio-3.dtsi
index 86954e95ea02..4c34978fcb13 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-gpio-3.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-gpio-3.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ GPIO device tree stub [ controller @ offset 0x133000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-i2c-0.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-i2c-0.dtsi
index 5f9bf7debe4c..7e21baa72fbb 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-i2c-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-i2c-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ I2C device tree stub [ controller @ offset 0x118000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-i2c-1.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-i2c-1.dtsi
index 7989bf5eeb53..eed0f4a3dbd8 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-i2c-1.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-i2c-1.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ I2C device tree stub [ controller @ offset 0x119000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-mpic.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-mpic.dtsi
index 08f42271f86a..061303ea7ae4 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-mpic.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-mpic.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ MPIC device tree stub [ controller @ offset 0x40000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-mpic4.3.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-mpic4.3.dtsi
index 64f713c24825..cf8141b5458a 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-mpic4.3.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-mpic4.3.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ MPIC device tree stub [ controller @ offset 0x40000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-qman1-portals.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-qman1-portals.dtsi
index e77e4b4ed53b..9a13fe3f8913 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-qman1-portals.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-qman1-portals.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ QMan Portal device tree stub for 10 portals & 15 pool channels
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-qman1.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-qman1.dtsi
index 0695778c4386..2fe0e906c70c 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-qman1.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-qman1.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ QMan device tree stub [ controller @ offset 0x318000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-qman3.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-qman3.dtsi
index b379abd1439d..1421806059ed 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-qman3.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-qman3.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ QMan rev3 device tree stub [ controller @ offset 0x318000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-raid1.0-0.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-raid1.0-0.dtsi
index 8d2e8aa6cf8a..9b2bcac7e0de 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-raid1.0-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-raid1.0-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ RAID 1.0 device tree stub [ controller @ offset 0x320000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-rmu-0.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-rmu-0.dtsi
index ca7fec792e53..dfa7ae5ef1cd 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-rmu-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-rmu-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ RIO Message Unit device tree stub [ controller @ offset 0xd3000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-sata2-0.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-sata2-0.dtsi
index b642047fdecf..0d8c28230b7e 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-sata2-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-sata2-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ SATAv2 device tree stub [ controller @ offset 0x220000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-sata2-1.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-sata2-1.dtsi
index c57370259750..8e704c66a06b 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-sata2-1.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-sata2-1.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ SATAv2 device tree stub [ controller @ offset 0x221000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-sec4.0-0.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-sec4.0-0.dtsi
index 02bee5fcbb9a..74b13e4720fa 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-sec4.0-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-sec4.0-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ Sec/Crypto 4.0 device tree stub [ controller @ offset 0x300000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-sec4.2-0.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-sec4.2-0.dtsi
index 7f7574e53323..48fc723d5933 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-sec4.2-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-sec4.2-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ Sec/Crypto 4.2 device tree stub [ controller @ offset 0x300000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-sec5.0-0.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-sec5.0-0.dtsi
index e298efbb0f3e..38ddbabb223c 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-sec5.0-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-sec5.0-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ Sec/Crypto 5.0 device tree stub [ controller @ offset 0x300000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-sec5.2-0.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-sec5.2-0.dtsi
index 33ff09d52e05..d17d0390e543 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-sec5.2-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-sec5.2-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ Sec/Crypto 5.2 device tree stub [ controller @ offset 0x300000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-sec5.3-0.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-sec5.3-0.dtsi
index 08778221c194..eb2e2d558900 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-sec5.3-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-sec5.3-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ Sec/Crypto 5.3 device tree stub [ controller @ offset 0x300000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-sec6.0-0.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-sec6.0-0.dtsi
index 7d4a6a2354f4..9fc96e6ea5ff 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-sec6.0-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-sec6.0-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ Sec/Crypto 6.0 device tree stub
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-usb2-dr-0.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-usb2-dr-0.dtsi
index 4dd6f84c239c..c85be7fd1ee5 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-usb2-dr-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-usb2-dr-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ USB DR device tree stub [ controller @ offset 0x211000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/qoriq-usb2-mph-0.dtsi b/arch/powerpc/boot/dts/fsl/qoriq-usb2-mph-0.dtsi
index f053835aa1c7..60929f46cb87 100644
--- a/arch/powerpc/boot/dts/fsl/qoriq-usb2-mph-0.dtsi
+++ b/arch/powerpc/boot/dts/fsl/qoriq-usb2-mph-0.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* QorIQ USB Host device tree stub [ controller @ offset 0x210000 ]
*
diff --git a/arch/powerpc/boot/dts/fsl/t1023rdb.dts b/arch/powerpc/boot/dts/fsl/t1023rdb.dts
index f82f85c65964..ea73f6424ad4 100644
--- a/arch/powerpc/boot/dts/fsl/t1023rdb.dts
+++ b/arch/powerpc/boot/dts/fsl/t1023rdb.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* T1023 RDB Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/t1023si-post.dtsi b/arch/powerpc/boot/dts/fsl/t1023si-post.dtsi
index d552044c5afc..4e8831ec95fd 100644
--- a/arch/powerpc/boot/dts/fsl/t1023si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/t1023si-post.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* T1023 Silicon/SoC Device Tree Source (post include)
*
diff --git a/arch/powerpc/boot/dts/fsl/t1024qds.dts b/arch/powerpc/boot/dts/fsl/t1024qds.dts
index d6858b7cd93f..8e505eb371cd 100644
--- a/arch/powerpc/boot/dts/fsl/t1024qds.dts
+++ b/arch/powerpc/boot/dts/fsl/t1024qds.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* T1024 QDS Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/t1024rdb.dts b/arch/powerpc/boot/dts/fsl/t1024rdb.dts
index dbcd31cc35dc..ee9b73da8379 100644
--- a/arch/powerpc/boot/dts/fsl/t1024rdb.dts
+++ b/arch/powerpc/boot/dts/fsl/t1024rdb.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* T1024 RDB Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/t1024si-post.dtsi b/arch/powerpc/boot/dts/fsl/t1024si-post.dtsi
index bb480346a58d..53dd59cb508e 100644
--- a/arch/powerpc/boot/dts/fsl/t1024si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/t1024si-post.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* T1024 Silicon/SoC Device Tree Source (post include)
*
diff --git a/arch/powerpc/boot/dts/fsl/t102xsi-pre.dtsi b/arch/powerpc/boot/dts/fsl/t102xsi-pre.dtsi
index d87ea13164f2..de165056e066 100644
--- a/arch/powerpc/boot/dts/fsl/t102xsi-pre.dtsi
+++ b/arch/powerpc/boot/dts/fsl/t102xsi-pre.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* T1024/T1023 Silicon/SoC Device Tree Source (pre include)
*
diff --git a/arch/powerpc/boot/dts/fsl/t1040d4rdb.dts b/arch/powerpc/boot/dts/fsl/t1040d4rdb.dts
index fb6bc02ebb60..a893a6f2a37a 100644
--- a/arch/powerpc/boot/dts/fsl/t1040d4rdb.dts
+++ b/arch/powerpc/boot/dts/fsl/t1040d4rdb.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* T1040D4RDB Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/t1040qds.dts b/arch/powerpc/boot/dts/fsl/t1040qds.dts
index 5f76edc7838c..ff6b99da42e3 100644
--- a/arch/powerpc/boot/dts/fsl/t1040qds.dts
+++ b/arch/powerpc/boot/dts/fsl/t1040qds.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* T1040QDS Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/t1040rdb.dts b/arch/powerpc/boot/dts/fsl/t1040rdb.dts
index af0c8a6f5613..f63933c0aa79 100644
--- a/arch/powerpc/boot/dts/fsl/t1040rdb.dts
+++ b/arch/powerpc/boot/dts/fsl/t1040rdb.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* T1040RDB Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/t1040si-post.dtsi b/arch/powerpc/boot/dts/fsl/t1040si-post.dtsi
index f58eb820eb5e..78345b805da3 100644
--- a/arch/powerpc/boot/dts/fsl/t1040si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/t1040si-post.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* T1040 Silicon/SoC Device Tree Source (post include)
*
diff --git a/arch/powerpc/boot/dts/fsl/t1042d4rdb.dts b/arch/powerpc/boot/dts/fsl/t1042d4rdb.dts
index 4fa15f48a4c3..3e39345e8cc0 100644
--- a/arch/powerpc/boot/dts/fsl/t1042d4rdb.dts
+++ b/arch/powerpc/boot/dts/fsl/t1042d4rdb.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* T1042D4RDB Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/t1042qds.dts b/arch/powerpc/boot/dts/fsl/t1042qds.dts
index 90a4a73bb905..98f2146c19ce 100644
--- a/arch/powerpc/boot/dts/fsl/t1042qds.dts
+++ b/arch/powerpc/boot/dts/fsl/t1042qds.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* T1042QDS Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/t1042rdb.dts b/arch/powerpc/boot/dts/fsl/t1042rdb.dts
index 3ebb712224cb..d37e6b304cd0 100644
--- a/arch/powerpc/boot/dts/fsl/t1042rdb.dts
+++ b/arch/powerpc/boot/dts/fsl/t1042rdb.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* T1042RDB Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/t1042rdb_pi.dts b/arch/powerpc/boot/dts/fsl/t1042rdb_pi.dts
index 8ec3ff45e6fc..7dc377c1089a 100644
--- a/arch/powerpc/boot/dts/fsl/t1042rdb_pi.dts
+++ b/arch/powerpc/boot/dts/fsl/t1042rdb_pi.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* T1042RDB_PI Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/t1042si-post.dtsi b/arch/powerpc/boot/dts/fsl/t1042si-post.dtsi
index a5544f93689c..b5295a4c7d9a 100644
--- a/arch/powerpc/boot/dts/fsl/t1042si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/t1042si-post.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* T1042 Silicon/SoC Device Tree Source (post include)
*
diff --git a/arch/powerpc/boot/dts/fsl/t104xd4rdb.dtsi b/arch/powerpc/boot/dts/fsl/t104xd4rdb.dtsi
index 863f9431285f..0967a66623b9 100644
--- a/arch/powerpc/boot/dts/fsl/t104xd4rdb.dtsi
+++ b/arch/powerpc/boot/dts/fsl/t104xd4rdb.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* T1040D4RDB/T1042D4RDB Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/t104xqds.dtsi b/arch/powerpc/boot/dts/fsl/t104xqds.dtsi
index 615479732252..336a9a194a5a 100644
--- a/arch/powerpc/boot/dts/fsl/t104xqds.dtsi
+++ b/arch/powerpc/boot/dts/fsl/t104xqds.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* T104xQDS Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/t104xrdb.dtsi b/arch/powerpc/boot/dts/fsl/t104xrdb.dtsi
index 099a598c74c0..0d678fa0923f 100644
--- a/arch/powerpc/boot/dts/fsl/t104xrdb.dtsi
+++ b/arch/powerpc/boot/dts/fsl/t104xrdb.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* T1040RDB/T1042RDB Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/t104xsi-pre.dtsi b/arch/powerpc/boot/dts/fsl/t104xsi-pre.dtsi
index dd59e4b69480..17edd456ed77 100644
--- a/arch/powerpc/boot/dts/fsl/t104xsi-pre.dtsi
+++ b/arch/powerpc/boot/dts/fsl/t104xsi-pre.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* T1040/T1042 Silicon/SoC Device Tree Source (pre include)
*
diff --git a/arch/powerpc/boot/dts/fsl/t2080qds.dts b/arch/powerpc/boot/dts/fsl/t2080qds.dts
index 8d190e8c62ce..666ccfc10d43 100644
--- a/arch/powerpc/boot/dts/fsl/t2080qds.dts
+++ b/arch/powerpc/boot/dts/fsl/t2080qds.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* T2080QDS Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/t2080rdb.dts b/arch/powerpc/boot/dts/fsl/t2080rdb.dts
index 092a400740f8..59fb29192a83 100644
--- a/arch/powerpc/boot/dts/fsl/t2080rdb.dts
+++ b/arch/powerpc/boot/dts/fsl/t2080rdb.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* T2080PCIe-RDB Board Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/t2080si-post.dtsi b/arch/powerpc/boot/dts/fsl/t2080si-post.dtsi
index 082ec2044060..ffdf71fe0902 100644
--- a/arch/powerpc/boot/dts/fsl/t2080si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/t2080si-post.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* T2080 Silicon/SoC Device Tree Source (post include)
*
diff --git a/arch/powerpc/boot/dts/fsl/t2081qds.dts b/arch/powerpc/boot/dts/fsl/t2081qds.dts
index fc5c4a30f7ad..f3814fa26ee9 100644
--- a/arch/powerpc/boot/dts/fsl/t2081qds.dts
+++ b/arch/powerpc/boot/dts/fsl/t2081qds.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* T2081QDS Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/t2081si-post.dtsi b/arch/powerpc/boot/dts/fsl/t2081si-post.dtsi
index ecbb447920bc..430fd24fb60d 100644
--- a/arch/powerpc/boot/dts/fsl/t2081si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/t2081si-post.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* T2081 Silicon/SoC Device Tree Source (post include)
*
diff --git a/arch/powerpc/boot/dts/fsl/t208xqds.dtsi b/arch/powerpc/boot/dts/fsl/t208xqds.dtsi
index db4139999b28..a1006165bc41 100644
--- a/arch/powerpc/boot/dts/fsl/t208xqds.dtsi
+++ b/arch/powerpc/boot/dts/fsl/t208xqds.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* T2080/T2081 QDS Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/t208xrdb.dtsi b/arch/powerpc/boot/dts/fsl/t208xrdb.dtsi
index ff87e67c70da..9849f8afd465 100644
--- a/arch/powerpc/boot/dts/fsl/t208xrdb.dtsi
+++ b/arch/powerpc/boot/dts/fsl/t208xrdb.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* T2080PCIe-RDB Board Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/t208xsi-pre.dtsi b/arch/powerpc/boot/dts/fsl/t208xsi-pre.dtsi
index 3f745de44284..6fc92b1d0911 100644
--- a/arch/powerpc/boot/dts/fsl/t208xsi-pre.dtsi
+++ b/arch/powerpc/boot/dts/fsl/t208xsi-pre.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* T2080/T2081 Silicon/SoC Device Tree Source (pre include)
*
diff --git a/arch/powerpc/boot/dts/fsl/t4240qds.dts b/arch/powerpc/boot/dts/fsl/t4240qds.dts
index c0913ac5aaad..c2dcd078becf 100644
--- a/arch/powerpc/boot/dts/fsl/t4240qds.dts
+++ b/arch/powerpc/boot/dts/fsl/t4240qds.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* T4240QDS Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/t4240rdb.dts b/arch/powerpc/boot/dts/fsl/t4240rdb.dts
index 145896f2eef6..82f78680ac98 100644
--- a/arch/powerpc/boot/dts/fsl/t4240rdb.dts
+++ b/arch/powerpc/boot/dts/fsl/t4240rdb.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* T4240RDB Device Tree Source
*
diff --git a/arch/powerpc/boot/dts/fsl/t4240si-post.dtsi b/arch/powerpc/boot/dts/fsl/t4240si-post.dtsi
index fcac73486d48..8c4e15630d28 100644
--- a/arch/powerpc/boot/dts/fsl/t4240si-post.dtsi
+++ b/arch/powerpc/boot/dts/fsl/t4240si-post.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* T4240 Silicon/SoC Device Tree Source (post include)
*
diff --git a/arch/powerpc/boot/dts/fsl/t4240si-pre.dtsi b/arch/powerpc/boot/dts/fsl/t4240si-pre.dtsi
index 632314c6faa9..41babab48e25 100644
--- a/arch/powerpc/boot/dts/fsl/t4240si-pre.dtsi
+++ b/arch/powerpc/boot/dts/fsl/t4240si-pre.dtsi
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0+
/*
* T4240 Silicon/SoC Device Tree Source (pre include)
*
diff --git a/arch/powerpc/boot/dts/fsp2.dts b/arch/powerpc/boot/dts/fsp2.dts
index 9311b86b1bd9..738f2c6f65eb 100644
--- a/arch/powerpc/boot/dts/fsp2.dts
+++ b/arch/powerpc/boot/dts/fsp2.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Device Tree Source for FSP2
*
diff --git a/arch/powerpc/boot/dts/glacier.dts b/arch/powerpc/boot/dts/glacier.dts
index e84ff1afb58c..99288f564bb3 100644
--- a/arch/powerpc/boot/dts/glacier.dts
+++ b/arch/powerpc/boot/dts/glacier.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Device Tree Source for AMCC Glacier (460GT)
*
diff --git a/arch/powerpc/boot/dts/haleakala.dts b/arch/powerpc/boot/dts/haleakala.dts
index f81ce8786d59..ade71c06fff7 100644
--- a/arch/powerpc/boot/dts/haleakala.dts
+++ b/arch/powerpc/boot/dts/haleakala.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Device Tree Source for AMCC Haleakala (405EXr)
*
diff --git a/arch/powerpc/boot/dts/holly.dts b/arch/powerpc/boot/dts/holly.dts
index 02bd304c7d38..a0707fa09027 100644
--- a/arch/powerpc/boot/dts/holly.dts
+++ b/arch/powerpc/boot/dts/holly.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Device Tree Source for IBM Holly (PPC 750CL with TSI controller)
* Copyright 2007, IBM Corporation
--git a/arch/powerpc/boot/dts/hotfoot.dts b/arch/powerpc/boot/dts/hotfoot.dts
index b93bf2d9dd5b..bb3d764b74e3 100644
--- a/arch/powerpc/boot/dts/hotfoot.dts
+++ b/arch/powerpc/boot/dts/hotfoot.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Device Tree Source for ESTeem 195E Hotfoot
*
diff --git a/arch/powerpc/boot/dts/icon.dts b/arch/powerpc/boot/dts/icon.dts
index 4fd7a4fbb4fb..313a5921a26b 100644
--- a/arch/powerpc/boot/dts/icon.dts
+++ b/arch/powerpc/boot/dts/icon.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Device Tree Source for Mosaix Technologies, Inc. ICON board
*
diff --git a/arch/powerpc/boot/dts/iss4xx-mpic.dts b/arch/powerpc/boot/dts/iss4xx-mpic.dts
index c9f90f1a9c8e..7326fe445f96 100644
--- a/arch/powerpc/boot/dts/iss4xx-mpic.dts
+++ b/arch/powerpc/boot/dts/iss4xx-mpic.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Device Tree Source for IBM Embedded PPC 476 Platform
*
diff --git a/arch/powerpc/boot/dts/iss4xx.dts b/arch/powerpc/boot/dts/iss4xx.dts
index 5533aff25e41..04927f357d2b 100644
--- a/arch/powerpc/boot/dts/iss4xx.dts
+++ b/arch/powerpc/boot/dts/iss4xx.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Device Tree Source for IBM Embedded PPC 476 Platform
*
diff --git a/arch/powerpc/boot/dts/katmai.dts b/arch/powerpc/boot/dts/katmai.dts
index a8f353229fb7..b66ae72fa327 100644
--- a/arch/powerpc/boot/dts/katmai.dts
+++ b/arch/powerpc/boot/dts/katmai.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Device Tree Source for AMCC Katmai eval board
*
diff --git a/arch/powerpc/boot/dts/kilauea.dts b/arch/powerpc/boot/dts/kilauea.dts
index a709fb47a180..20fb83b3df12 100644
--- a/arch/powerpc/boot/dts/kilauea.dts
+++ b/arch/powerpc/boot/dts/kilauea.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Device Tree Source for AMCC Kilauea (405EX)
*
diff --git a/arch/powerpc/boot/dts/ksi8560.dts b/arch/powerpc/boot/dts/ksi8560.dts
index fe6c17c8812a..4afc96d195f9 100644
--- a/arch/powerpc/boot/dts/ksi8560.dts
+++ b/arch/powerpc/boot/dts/ksi8560.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Device Tree Source for Emerson KSI8560
*
diff --git a/arch/powerpc/boot/dts/kuroboxHD.dts b/arch/powerpc/boot/dts/kuroboxHD.dts
index 0a4545159e80..e3f41d2962e3 100644
--- a/arch/powerpc/boot/dts/kuroboxHD.dts
+++ b/arch/powerpc/boot/dts/kuroboxHD.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Device Tree Souce for Buffalo KuroboxHD
*
diff --git a/arch/powerpc/boot/dts/kuroboxHG.dts b/arch/powerpc/boot/dts/kuroboxHG.dts
index 0e758b347cdb..e27f2b43b8df 100644
--- a/arch/powerpc/boot/dts/kuroboxHG.dts
+++ b/arch/powerpc/boot/dts/kuroboxHG.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Device Tree Souce for Buffalo KuroboxHG
*
diff --git a/arch/powerpc/boot/dts/makalu.dts b/arch/powerpc/boot/dts/makalu.dts
index c473cd911bca..b05fc1f5a71a 100644
--- a/arch/powerpc/boot/dts/makalu.dts
+++ b/arch/powerpc/boot/dts/makalu.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Device Tree Source for AMCC Makalu (405EX)
*
diff --git a/arch/powerpc/boot/dts/microwatt.dts b/arch/powerpc/boot/dts/microwatt.dts
index 65b270a90f94..05abbe044205 100644
--- a/arch/powerpc/boot/dts/microwatt.dts
+++ b/arch/powerpc/boot/dts/microwatt.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/dts-v1/;
/ {
diff --git a/arch/powerpc/boot/dts/mvme5100.dts b/arch/powerpc/boot/dts/mvme5100.dts
index a7eb6d25903d..8cbf1b83bf8a 100644
--- a/arch/powerpc/boot/dts/mvme5100.dts
+++ b/arch/powerpc/boot/dts/mvme5100.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Device Tree Source for Motorola/Emerson MVME5100.
*
diff --git a/arch/powerpc/boot/dts/obs600.dts b/arch/powerpc/boot/dts/obs600.dts
index d10b0411809b..0119378ab670 100644
--- a/arch/powerpc/boot/dts/obs600.dts
+++ b/arch/powerpc/boot/dts/obs600.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Device Tree Source for PlatHome OpenBlockS 600 (405EX)
*
diff --git a/arch/powerpc/boot/dts/rainier.dts b/arch/powerpc/boot/dts/rainier.dts
index e59829cff556..d9de18967ae1 100644
--- a/arch/powerpc/boot/dts/rainier.dts
+++ b/arch/powerpc/boot/dts/rainier.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Device Tree Source for AMCC Rainier
*
diff --git a/arch/powerpc/boot/dts/redwood.dts b/arch/powerpc/boot/dts/redwood.dts
index f38035a1f4a1..6588ca1e9d5a 100644
--- a/arch/powerpc/boot/dts/redwood.dts
+++ b/arch/powerpc/boot/dts/redwood.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Device Tree Source for AMCC Redwood(460SX)
*
diff --git a/arch/powerpc/boot/dts/sam440ep.dts b/arch/powerpc/boot/dts/sam440ep.dts
index 7d15f18e1180..019d35112d94 100644
--- a/arch/powerpc/boot/dts/sam440ep.dts
+++ b/arch/powerpc/boot/dts/sam440ep.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Device Tree Source for ACube Sam440ep based off bamboo.dts code
* original copyrights below
diff --git a/arch/powerpc/boot/dts/sequoia.dts b/arch/powerpc/boot/dts/sequoia.dts
index 60d211da9593..02d7b62f0f96 100644
--- a/arch/powerpc/boot/dts/sequoia.dts
+++ b/arch/powerpc/boot/dts/sequoia.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Device Tree Source for AMCC Sequoia
*
diff --git a/arch/powerpc/boot/dts/storcenter.dts b/arch/powerpc/boot/dts/storcenter.dts
index 99f6f544dc5f..fb3e04b28774 100644
--- a/arch/powerpc/boot/dts/storcenter.dts
+++ b/arch/powerpc/boot/dts/storcenter.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Device Tree Source for IOMEGA StorCenter
*
diff --git a/arch/powerpc/boot/dts/taishan.dts b/arch/powerpc/boot/dts/taishan.dts
index 803f1bff7fa8..b4a9db1a786c 100644
--- a/arch/powerpc/boot/dts/taishan.dts
+++ b/arch/powerpc/boot/dts/taishan.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Device Tree Source for IBM/AMCC Taishan
*
diff --git a/arch/powerpc/boot/dts/warp.dts b/arch/powerpc/boot/dts/warp.dts
index b4f32740870e..c729e0ae5ade 100644
--- a/arch/powerpc/boot/dts/warp.dts
+++ b/arch/powerpc/boot/dts/warp.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Device Tree Source for PIKA Warp
*
diff --git a/arch/powerpc/boot/dts/yosemite.dts b/arch/powerpc/boot/dts/yosemite.dts
index 56508785ce13..05f0a6b70c23 100644
--- a/arch/powerpc/boot/dts/yosemite.dts
+++ b/arch/powerpc/boot/dts/yosemite.dts
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
/*
* Device Tree Source for AMCC Yosemite
*
--
2.33.1
^ permalink raw reply related
* Re: [PATCH net 1/4] net/fsl: xgmac_mdio: Add workaround for erratum A-009885
From: Tobias Waldekranz @ 2022-01-17 7:24 UTC (permalink / raw)
To: Andrew Lunn
Cc: devicetree, madalin.bucur, robh+dt, paulus, kuba, netdev,
linuxppc-dev, davem
In-Reply-To: <YeSV67WeMTSDigUK@lunn.ch>
On Sun, Jan 16, 2022 at 23:02, Andrew Lunn <andrew@lunn.ch> wrote:
> On Sun, Jan 16, 2022 at 10:15:26PM +0100, Tobias Waldekranz wrote:
>> Once an MDIO read transaction is initiated, we must read back the data
>> register within 16 MDC cycles after the transaction completes. Outside
>> of this window, reads may return corrupt data.
>>
>> Therefore, disable local interrupts in the critical section, to
>> maximize the probability that we can satisfy this requirement.
>
> Since this is for net, a Fixes: tag would be nice. Maybe that would be
> for the commit which added this driver, or maybe when the DTSI files
> for the SOCs which have this errata we added?
Alright, I wasn't sure how to tag WAs for errata since it is more about
the hardware than the driver. Should I send a v2 even if nothing else
pops up, or is this more of a if-you're-sending-a-v2-anyway type of
comment?
^ permalink raw reply
* Re: [PATCH net 4/4] net/fsl: xgmac_mdio: Fix incorrect iounmap when removing module
From: Tobias Waldekranz @ 2022-01-17 7:26 UTC (permalink / raw)
To: Andrew Lunn
Cc: devicetree, madalin.bucur, robh+dt, paulus, kuba, netdev,
linuxppc-dev, davem
In-Reply-To: <YeST+TAREKIh2RXp@lunn.ch>
On Sun, Jan 16, 2022 at 22:54, Andrew Lunn <andrew@lunn.ch> wrote:
> On Sun, Jan 16, 2022 at 10:15:29PM +0100, Tobias Waldekranz wrote:
>> As reported by sparse: In the remove path, the driver would attempt to
>> unmap its own priv pointer - instead of the io memory that it mapped
>> in probe.
>
> Hi Tobias
>
> The change itself is O.K.
>
> Reviewed-by: Andrew Lunn <andrew@lunn.ch>
>
> But you could also change to devm_ so the core will handle the unmap,
> it is very unlikely to unmap the wrong thing.
Good idea. I have some more changes I want to include in this driver,
but they are more net-next material. Will try to work in this change as
well.
^ permalink raw reply
* [PATCH v3 0/2] powerpc/fadump: handle CMA activation failure appropriately
From: Hari Bathini @ 2022-01-17 7:52 UTC (permalink / raw)
To: akpm, david, linux-mm, mpe, linuxppc-dev
Cc: mike.kravetz, mahesh, sourabhjain, osalvador
While commit a4e92ce8e4c8 ("powerpc/fadump: Reservationless firmware
assisted dump"), introduced Linux kernel's Contiguous Memory Allocator
(CMA) based reservation for fadump, it came with the assumption that
the memory remains reserved even if CMA activation fails. It ensures
no kernel pages reside in the reserved memory region, which can't be
mapped into the /proc/vmcore.
But commit 072355c1cf2d ("mm/cma: expose all pages to the buddy if
activation of an area fails") started returning all pages to buddy
allocator if CMA activation fails. This led to warning messages like
below while running crash-utility on vmcore of a kernel having above
two commits:
crash: seek error: kernel virtual address: <from reserved region>
as reserved memory region ended up having kernel pages crash-utility
was looking for. Fix this by introducing an option in CMA, to opt out
from exposing pages to buddy allocator, on CMA activation failure.
Changes in v3:
* Dropped NULL check in cma_reserve_pages_on_error().
* Dropped explicit initialization of cma->reserve_pages_on_error to
'false' in cma_init_reserved_mem().
* Added review tags from David.
Changes in v2:
* Replaced cma->free_pages_on_error with cma->reserve_pages_on_error
& cma_dont_free_pages_on_error() with cma_reserve_pages_on_error()
to avoid confusion and make the expectation on failure clearer.
Hari Bathini (2):
mm/cma: provide option to opt out from exposing pages on activation
failure
powerpc/fadump: opt out from freeing pages on cma activation failure
arch/powerpc/kernel/fadump.c | 6 ++++++
include/linux/cma.h | 2 ++
mm/cma.c | 11 +++++++++--
mm/cma.h | 1 +
4 files changed, 18 insertions(+), 2 deletions(-)
--
2.34.1
^ permalink raw reply
* [PATCH v3 1/2] mm/cma: provide option to opt out from exposing pages on activation failure
From: Hari Bathini @ 2022-01-17 7:52 UTC (permalink / raw)
To: akpm, david, linux-mm, mpe, linuxppc-dev
Cc: mike.kravetz, mahesh, sourabhjain, osalvador
In-Reply-To: <20220117075246.36072-1-hbathini@linux.ibm.com>
Commit 072355c1cf2d ("mm/cma: expose all pages to the buddy if
activation of an area fails") started exposing all pages to buddy
allocator on CMA activation failure. But there can be CMA users that
want to handle the reserved memory differently on CMA allocation
failure. Provide an option to opt out from exposing pages to buddy
for such cases.
Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
---
Changes in v3:
* Dropped NULL check in cma_reserve_pages_on_error().
* Dropped explicit initialization of cma->reserve_pages_on_error to
'false' in cma_init_reserved_mem().
* Added Reviewed-by tag from David.
Changes in v2:
* Changed cma->free_pages_on_error to cma->reserve_pages_on_error and
cma_dont_free_pages_on_error() to cma_reserve_pages_on_error() to
avoid confusion.
include/linux/cma.h | 2 ++
mm/cma.c | 11 +++++++++--
mm/cma.h | 1 +
3 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/include/linux/cma.h b/include/linux/cma.h
index bd801023504b..51d540eee18a 100644
--- a/include/linux/cma.h
+++ b/include/linux/cma.h
@@ -50,4 +50,6 @@ extern bool cma_pages_valid(struct cma *cma, const struct page *pages, unsigned
extern bool cma_release(struct cma *cma, const struct page *pages, unsigned long count);
extern int cma_for_each_area(int (*it)(struct cma *cma, void *data), void *data);
+
+extern void cma_reserve_pages_on_error(struct cma *cma);
#endif
diff --git a/mm/cma.c b/mm/cma.c
index bc9ca8f3c487..766f1b82b532 100644
--- a/mm/cma.c
+++ b/mm/cma.c
@@ -131,8 +131,10 @@ static void __init cma_activate_area(struct cma *cma)
bitmap_free(cma->bitmap);
out_error:
/* Expose all pages to the buddy, they are useless for CMA. */
- for (pfn = base_pfn; pfn < base_pfn + cma->count; pfn++)
- free_reserved_page(pfn_to_page(pfn));
+ if (!cma->reserve_pages_on_error) {
+ for (pfn = base_pfn; pfn < base_pfn + cma->count; pfn++)
+ free_reserved_page(pfn_to_page(pfn));
+ }
totalcma_pages -= cma->count;
cma->count = 0;
pr_err("CMA area %s could not be activated\n", cma->name);
@@ -150,6 +152,11 @@ static int __init cma_init_reserved_areas(void)
}
core_initcall(cma_init_reserved_areas);
+void __init cma_reserve_pages_on_error(struct cma *cma)
+{
+ cma->reserve_pages_on_error = true;
+}
+
/**
* cma_init_reserved_mem() - create custom contiguous area from reserved memory
* @base: Base address of the reserved area
diff --git a/mm/cma.h b/mm/cma.h
index 2c775877eae2..88a0595670b7 100644
--- a/mm/cma.h
+++ b/mm/cma.h
@@ -30,6 +30,7 @@ struct cma {
/* kobject requires dynamic object */
struct cma_kobject *cma_kobj;
#endif
+ bool reserve_pages_on_error;
};
extern struct cma cma_areas[MAX_CMA_AREAS];
--
2.34.1
^ permalink raw reply related
* [PATCH v3 2/2] powerpc/fadump: opt out from freeing pages on cma activation failure
From: Hari Bathini @ 2022-01-17 7:52 UTC (permalink / raw)
To: akpm, david, linux-mm, mpe, linuxppc-dev
Cc: mike.kravetz, mahesh, sourabhjain, osalvador
In-Reply-To: <20220117075246.36072-1-hbathini@linux.ibm.com>
With commit a4e92ce8e4c8 ("powerpc/fadump: Reservationless firmware
assisted dump"), Linux kernel's Contiguous Memory Allocator (CMA)
based reservation was introduced in fadump. That change was aimed at
using CMA to let applications utilize the memory reserved for fadump
while blocking it from being used for kernel pages. The assumption
was, even if CMA activation fails for whatever reason, the memory
still remains reserved to avoid it from being used for kernel pages.
But commit 072355c1cf2d ("mm/cma: expose all pages to the buddy if
activation of an area fails") breaks this assumption as it started
exposing all pages to buddy allocator on CMA activation failure.
It led to warning messages like below while running crash-utility
on vmcore of a kernel having above two commits:
crash: seek error: kernel virtual address: <from reserved region>
To fix this problem, opt out from exposing pages to buddy allocator
on CMA activation failure for fadump reserved memory.
Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
Acked-by: David Hildenbrand <david@redhat.com>
---
Changes in v3:
* Added Acked-by tag from David.
arch/powerpc/kernel/fadump.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/arch/powerpc/kernel/fadump.c b/arch/powerpc/kernel/fadump.c
index d03e488cfe9c..d0ad86b67e66 100644
--- a/arch/powerpc/kernel/fadump.c
+++ b/arch/powerpc/kernel/fadump.c
@@ -112,6 +112,12 @@ static int __init fadump_cma_init(void)
return 1;
}
+ /*
+ * If CMA activation fails, keep the pages reserved, instead of
+ * exposing them to buddy allocator. Same as 'fadump=nocma' case.
+ */
+ cma_reserve_pages_on_error(fadump_cma);
+
/*
* So we now have successfully initialized cma area for fadump.
*/
--
2.34.1
^ permalink raw reply related
* Re: [PATCH v2 1/2] mm/cma: provide option to opt out from exposing pages on activation failure
From: Hari Bathini @ 2022-01-17 7:59 UTC (permalink / raw)
To: David Hildenbrand, akpm, linux-mm, mpe, linuxppc-dev
Cc: osalvador, mahesh, sourabhjain, mike.kravetz
In-Reply-To: <debd11c4-4a7a-e650-7bc6-965d58ef95cf@redhat.com>
On 13/01/22 2:00 pm, David Hildenbrand wrote:
>> +{
>> + if (!cma)
>> + return;
>
> Do we really need that check for NULL?
Probably not.
>
>> +
>> + cma->reserve_pages_on_error = true;
>> +}
>> +
>> /**
>> * cma_init_reserved_mem() - create custom contiguous area from reserved memory
>> * @base: Base address of the reserved area
>> @@ -204,6 +214,7 @@ int __init cma_init_reserved_mem(phys_addr_t base, phys_addr_t size,
>> cma->base_pfn = PFN_DOWN(base);
>> cma->count = size >> PAGE_SHIFT;
>> cma->order_per_bit = order_per_bit;
>> + cma->reserve_pages_on_error = false;
>
> I think you can drop that; should already be initialized to 0.
>
>
> Apart from that
>
> Reviewed-by: David Hildenbrand <david@redhat.com>
>
Thanks for the review, David.
Posted v3 with the changes suggested above.
- Hari
^ permalink raw reply
* Re: [PATCH v2] powerpc: Add missing SPDX license identifiers to DTS files
From: Greg Kroah-Hartman @ 2022-01-17 8:17 UTC (permalink / raw)
To: Christophe Leroy
Cc: linux-kernel@vger.kernel.org, Paul Mackerras,
linux-spdx@vger.kernel.org, Thomas Gleixner,
linuxppc-dev@lists.ozlabs.org
In-Reply-To: <633873803244c2122381cb11228a6a9a7385abd4.1642402958.git.christophe.leroy@csgroup.eu>
On Mon, Jan 17, 2022 at 07:03:45AM +0000, Christophe Leroy wrote:
> Several DTS files are missing SPDX license identifiers.
Normally DTS files are not just GPLv2, are you sure this is intended?
>
> For files in fsl/ subdirectory, GPL v2 or later is used based
> on the comments in the files.
You do not seem to have gotten the license correct for these, the text
in the file comments disagrees with GPLv2+ only.
Please be VERY careful when adding license tags to files like this, if
this patch was accepted it would get very confusing as they are
contradictions in the file itself suddenly.
Also, when adding SPDX lines, remove the boiler-plate license text at
the same time so that we can verify that the SPDX line is correct. If
you had done that here, it would be obvious that the patch is incorrect.
As-is, this patch is not acceptable, sorry.
greg k-h
^ permalink raw reply
* Re: [PATCH v2] powerpc: Add missing SPDX license identifiers
From: Greg Kroah-Hartman @ 2022-01-17 8:18 UTC (permalink / raw)
To: Christophe Leroy
Cc: linux-kernel@vger.kernel.org, Paul Mackerras,
linux-spdx@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
Thomas Gleixner
In-Reply-To: <f46026c3157dd856847ee8cb7ccac08453f58174.1642401402.git.christophe.leroy@csgroup.eu>
On Mon, Jan 17, 2022 at 06:41:45AM +0000, Christophe Leroy wrote:
> Several files are missing SPDX license identifiers.
>
> Following files are given the following SPDX identifier based on the comments in the top of the file:
>
> boot/crtsavres.S:/* SPDX-License-Identifier: GPL-2.0+ */
> include/asm/epapr_hcalls.h:/* SPDX-License-Identifier: GPL-2.0+ OR BSD */
> include/asm/fsl_hcalls.h:/* SPDX-License-Identifier: GPL-2.0+ OR BSD */
> include/asm/ibmebus.h:/* SPDX-License-Identifier: GPL-2.0 OR OpenIB BSD */
> include/asm/sfp-machine.h:/* SPDX-License-Identifier: LGPL-2.0+ */
> kvm/mpic.c:// SPDX-License-Identifier: GPL-2.0
> lib/crtsavres.S:/* SPDX-License-Identifier: GPL-2.0+ */
> mm/book3s64/hash_4k.c:// SPDX-License-Identifier: LGPL-2.0
> mm/book3s64/hash_64k.c:// SPDX-License-Identifier: LGPL-2.0
> mm/book3s64/hash_hugepage.c:// SPDX-License-Identifier: LGPL-2.1
> platforms/pseries/ibmebus.c:// SPDX-License-Identifier: GPL-2.0 OR OpenIB BSD
> tools/head_check.sh:# SPDX-License-Identifier: GPL-2.0+
> xmon/ppc.h:/* SPDX-License-Identifier: GPL-1.0+ */
>
> Add to other files the default kernel license identifier, in extenso GPL-2.0.
Please also remove the old license text at the same time so that we can
verify that you got the licenses correct. As-is, we can not do that
easily with this patch so it's not ok.
thanks,
greg k-h
^ permalink raw reply
* Re: [PATCH v3] powerpc/papr_scm: Implement initial support for injecting smart errors
From: Aneesh Kumar K.V @ 2022-01-17 8:30 UTC (permalink / raw)
To: Vaibhav Jain, nvdimm, linuxppc-dev
Cc: Vaibhav Jain, Dan Williams, Ira Weiny, Shivaprasad G Bhat
In-Reply-To: <20220113120252.1145671-1-vaibhav@linux.ibm.com>
Vaibhav Jain <vaibhav@linux.ibm.com> writes:
> Presently PAPR doesn't support injecting smart errors on an
> NVDIMM. This makes testing the NVDIMM health reporting functionality
> difficult as simulating NVDIMM health related events need a hacked up
> qemu version.
>
> To solve this problem this patch proposes simulating certain set of
> NVDIMM health related events in papr_scm. Specifically 'fatal' health
> state and 'dirty' shutdown state. These error can be injected via the
> user-space 'ndctl-inject-smart(1)' command. With the proposed patch and
> corresponding ndctl patches following command flow is expected:
>
> $ sudo ndctl list -DH -d nmem0
> ...
> "health_state":"ok",
> "shutdown_state":"clean",
> ...
> # inject unsafe shutdown and fatal health error
> $ sudo ndctl inject-smart nmem0 -Uf
> ...
> "health_state":"fatal",
> "shutdown_state":"dirty",
> ...
> # uninject all errors
> $ sudo ndctl inject-smart nmem0 -N
> ...
> "health_state":"ok",
> "shutdown_state":"clean",
> ...
>
> The patch adds two members 'health_bitmap_mask' and
> 'health_bitmap_override' inside struct papr_scm_priv which are then
> bit blt'ed to the health bitmaps fetched from the hypervisor. In case
> we are not able to fetch health information from the hypervisor we
> service the health bitmap from these two members. These members are
> accessible from sysfs at nmemX/papr/health_bitmap_override
>
> A new PDSM named 'SMART_INJECT' is proposed that accepts newly
> introduced 'struct nd_papr_pdsm_smart_inject' as payload thats
> exchanged between libndctl and papr_scm to indicate the requested
> smart-error states.
>
> When the processing the PDSM 'SMART_INJECT', papr_pdsm_smart_inject()
> constructs a pair or 'mask' and 'override' bitmaps from the payload
> and bit-blt it to the 'health_bitmap_{mask, override}' members. This
> ensures the after being fetched from the hypervisor, the health_bitmap
> reflects requested smart-error states.
>
> Signed-off-by: Vaibhav Jain <vaibhav@linux.ibm.com>
> Signed-off-by: Shivaprasad G Bhat <sbhat@linux.ibm.com>
> ---
> Changelog:
>
> Since v2:
> * Rebased the patch to ppc-next
> * Added documentation for newly introduced sysfs attribute 'health_bitmap_override'
>
> Since v1:
> * Updated the patch description.
> * Removed dependency of a header movement patch.
> * Removed '__packed' attribute for 'struct nd_papr_pdsm_smart_inject' [Aneesh]
> ---
> Documentation/ABI/testing/sysfs-bus-papr-pmem | 13 +++
> arch/powerpc/include/uapi/asm/papr_pdsm.h | 18 ++++
> arch/powerpc/platforms/pseries/papr_scm.c | 94 ++++++++++++++++++-
> 3 files changed, 122 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/ABI/testing/sysfs-bus-papr-pmem b/Documentation/ABI/testing/sysfs-bus-papr-pmem
> index 95254cec92bf..8a0b2a7f7671 100644
> --- a/Documentation/ABI/testing/sysfs-bus-papr-pmem
> +++ b/Documentation/ABI/testing/sysfs-bus-papr-pmem
> @@ -61,3 +61,16 @@ Description:
> * "CchRHCnt" : Cache Read Hit Count
> * "CchWHCnt" : Cache Write Hit Count
> * "FastWCnt" : Fast Write Count
> +
> +What: /sys/bus/nd/devices/nmemX/papr/health_bitmap_override
> +Date: Jan, 2022
> +KernelVersion: v5.17
> +Contact: linuxppc-dev <linuxppc-dev@lists.ozlabs.org>, nvdimm@lists.linux.dev,
> +Description:
> + (RO) Reports the health bitmap override/mask bitmaps that are
> + applied to top bitmap received from PowerVM via the H_SCM_HEALTH
> + Hcall. Together these can be used to forcibly set/reset specific
> + bits returned from Hcall. These bitmaps are presently used to
> + simulate various health or shutdown states for an nvdimm and are
> + set by user-space tools like ndctl by issuing a PAPR DSM.
> +
> diff --git a/arch/powerpc/include/uapi/asm/papr_pdsm.h b/arch/powerpc/include/uapi/asm/papr_pdsm.h
> index 82488b1e7276..17439925045c 100644
> --- a/arch/powerpc/include/uapi/asm/papr_pdsm.h
> +++ b/arch/powerpc/include/uapi/asm/papr_pdsm.h
> @@ -116,6 +116,22 @@ struct nd_papr_pdsm_health {
> };
> };
>
> +/* Flags for injecting specific smart errors */
> +#define PDSM_SMART_INJECT_HEALTH_FATAL (1 << 0)
> +#define PDSM_SMART_INJECT_BAD_SHUTDOWN (1 << 1)
> +
> +struct nd_papr_pdsm_smart_inject {
> + union {
> + struct {
> + /* One or more of PDSM_SMART_INJECT_ */
> + __u32 flags;
> + __u8 fatal_enable;
> + __u8 unsafe_shutdown_enable;
> + };
> + __u8 buf[ND_PDSM_PAYLOAD_MAX_SIZE];
> + };
> +};
> +
> /*
> * Methods to be embedded in ND_CMD_CALL request. These are sent to the kernel
> * via 'nd_cmd_pkg.nd_command' member of the ioctl struct
> @@ -123,12 +139,14 @@ struct nd_papr_pdsm_health {
> enum papr_pdsm {
> PAPR_PDSM_MIN = 0x0,
> PAPR_PDSM_HEALTH,
> + PAPR_PDSM_SMART_INJECT,
> PAPR_PDSM_MAX,
> };
>
> /* Maximal union that can hold all possible payload types */
> union nd_pdsm_payload {
> struct nd_papr_pdsm_health health;
> + struct nd_papr_pdsm_smart_inject smart_inject;
> __u8 buf[ND_PDSM_PAYLOAD_MAX_SIZE];
> } __packed;
>
> diff --git a/arch/powerpc/platforms/pseries/papr_scm.c b/arch/powerpc/platforms/pseries/papr_scm.c
> index f48e87ac89c9..de4cf329cfb3 100644
> --- a/arch/powerpc/platforms/pseries/papr_scm.c
> +++ b/arch/powerpc/platforms/pseries/papr_scm.c
> @@ -68,6 +68,10 @@
> #define PAPR_SCM_PERF_STATS_EYECATCHER __stringify(SCMSTATS)
> #define PAPR_SCM_PERF_STATS_VERSION 0x1
>
> +/* Use bitblt method to override specific bits in the '_bitmap_' */
> +#define BITBLT_BITMAP(_bitmap_, _mask_, _override_) \
> + (((_bitmap_) & ~(_mask_)) | ((_mask_) & (_override_)))
> +
> /* Struct holding a single performance metric */
> struct papr_scm_perf_stat {
> u8 stat_id[8];
> @@ -120,6 +124,12 @@ struct papr_scm_priv {
>
> /* length of the stat buffer as expected by phyp */
> size_t stat_buffer_len;
> +
> + /* The bits which needs to be overridden */
> + u64 health_bitmap_mask;
> +
> + /* The overridden values for the bits having the masks set */
> + u64 health_bitmap_override;
> };
>
> static int papr_scm_pmem_flush(struct nd_region *nd_region,
> @@ -347,19 +357,28 @@ static ssize_t drc_pmem_query_stats(struct papr_scm_priv *p,
> static int __drc_pmem_query_health(struct papr_scm_priv *p)
> {
> unsigned long ret[PLPAR_HCALL_BUFSIZE];
> + u64 bitmap = 0;
> long rc;
>
> /* issue the hcall */
> rc = plpar_hcall(H_SCM_HEALTH, ret, p->drc_index);
> - if (rc != H_SUCCESS) {
> + if (rc == H_SUCCESS)
> + bitmap = ret[0] & ret[1];
> + else if (rc == H_FUNCTION)
> + dev_info_once(&p->pdev->dev,
> + "Hcall H_SCM_HEALTH not implemented, assuming empty health bitmap");
> + else {
> +
> dev_err(&p->pdev->dev,
> "Failed to query health information, Err:%ld\n", rc);
> return -ENXIO;
> }
>
> p->lasthealth_jiffies = jiffies;
> - p->health_bitmap = ret[0] & ret[1];
> -
> + /* Allow overriding specific health bits via bit blt. */
> + bitmap = BITBLT_BITMAP(bitmap, p->health_bitmap_mask,
> + p->health_bitmap_override);
> + WRITE_ONCE(p->health_bitmap, bitmap);
Why WRITE_ONCE ?
> dev_dbg(&p->pdev->dev,
> "Queried dimm health info. Bitmap:0x%016lx Mask:0x%016lx\n",
> ret[0], ret[1]);
> @@ -669,6 +688,54 @@ static int papr_pdsm_health(struct papr_scm_priv *p,
> return rc;
> }
>
> +/* Inject a smart error Add the dirty-shutdown-counter value to the pdsm */
> +static int papr_pdsm_smart_inject(struct papr_scm_priv *p,
> + union nd_pdsm_payload *payload)
> +{
> + int rc;
> + u32 supported_flags = 0;
> + u64 mask = 0, override = 0;
> +
> + /* Check for individual smart error flags and update mask and override */
> + if (payload->smart_inject.flags & PDSM_SMART_INJECT_HEALTH_FATAL) {
> + supported_flags |= PDSM_SMART_INJECT_HEALTH_FATAL;
> + mask |= PAPR_PMEM_HEALTH_FATAL;
> + override |= payload->smart_inject.fatal_enable ?
> + PAPR_PMEM_HEALTH_FATAL : 0;
> + }
> +
> + if (payload->smart_inject.flags & PDSM_SMART_INJECT_BAD_SHUTDOWN) {
> + supported_flags |= PDSM_SMART_INJECT_BAD_SHUTDOWN;
> + mask |= PAPR_PMEM_SHUTDOWN_DIRTY;
> + override |= payload->smart_inject.unsafe_shutdown_enable ?
> + PAPR_PMEM_SHUTDOWN_DIRTY : 0;
> + }
> +
> + dev_dbg(&p->pdev->dev, "[Smart-inject] Mask=%#llx override=%#llx\n",
> + mask, override);
> +
> + /* Prevent concurrent access to dimm health bitmap related members */
> + rc = mutex_lock_interruptible(&p->health_mutex);
> + if (rc)
> + return rc;
> +
> + /* Bitblt mask/override to corrosponding health_bitmap couterparts */
> + p->health_bitmap_mask = BITBLT_BITMAP(p->health_bitmap_mask,
> + mask, override);
is that correct? Should we do that mask & override ? Shouldn't this be
p->health_bitmap_mask = BITBLT_BITMAP(p->health_bitmap_mask,
mask, ~0x0UL);
> + p->health_bitmap_override = BITBLT_BITMAP(p->health_bitmap_override,
> + mask, override);
> +
> + /* Invalidate cached health bitmap */
> + p->lasthealth_jiffies = 0;
> +
> + mutex_unlock(&p->health_mutex);
> +
> + /* Return the supported flags back to userspace */
> + payload->smart_inject.flags = supported_flags;
> +
> + return sizeof(struct nd_papr_pdsm_health);
> +}
> +
> /*
> * 'struct pdsm_cmd_desc'
> * Identifies supported PDSMs' expected length of in/out payloads
> @@ -702,6 +769,12 @@ static const struct pdsm_cmd_desc __pdsm_cmd_descriptors[] = {
> .size_out = sizeof(struct nd_papr_pdsm_health),
> .service = papr_pdsm_health,
> },
> +
> + [PAPR_PDSM_SMART_INJECT] = {
> + .size_in = sizeof(struct nd_papr_pdsm_smart_inject),
> + .size_out = sizeof(struct nd_papr_pdsm_smart_inject),
> + .service = papr_pdsm_smart_inject,
> + },
> /* Empty */
> [PAPR_PDSM_MAX] = {
> .size_in = 0,
> @@ -838,6 +911,20 @@ static int papr_scm_ndctl(struct nvdimm_bus_descriptor *nd_desc,
> return 0;
> }
>
> +static ssize_t health_bitmap_override_show(struct device *dev,
> + struct device_attribute *attr,
> + char *buf)
> +{
> + struct nvdimm *dimm = to_nvdimm(dev);
> + struct papr_scm_priv *p = nvdimm_provider_data(dimm);
> +
> + return sprintf(buf, "mask=%#llx override=%#llx\n",
> + READ_ONCE(p->health_bitmap_mask),
> + READ_ONCE(p->health_bitmap_override));
> +}
> +
> +static DEVICE_ATTR_ADMIN_RO(health_bitmap_override);
> +
> static ssize_t perf_stats_show(struct device *dev,
> struct device_attribute *attr, char *buf)
> {
> @@ -952,6 +1039,7 @@ static struct attribute *papr_nd_attributes[] = {
> &dev_attr_flags.attr,
> &dev_attr_perf_stats.attr,
> &dev_attr_dirty_shutdown.attr,
> + &dev_attr_health_bitmap_override.attr,
> NULL,
> };
>
> --
> 2.34.1
^ permalink raw reply
* [PATCH v4] powerpc/mce: Avoid using irq_work_queue() in realmode
From: Ganesh Goudar @ 2022-01-17 8:32 UTC (permalink / raw)
To: linuxppc-dev, mpe; +Cc: Ganesh Goudar, mahesh, npiggin, dja
In realmode mce handler we use irq_work_queue() to defer
the processing of mce events, irq_work_queue() can only
be called when translation is enabled because it touches
memory outside RMA, hence we enable translation before
calling irq_work_queue and disable on return, though it
is not safe to do in realmode.
To avoid this, program the decrementer and call the event
processing functions from timer handler.
Signed-off-by: Ganesh Goudar <ganeshgr@linux.ibm.com>
---
V2:
* Use arch_irq_work_raise to raise decrementer interrupt.
* Avoid having atomic variable.
V3:
* Fix build error.
Reported by kernel test bot.
V4:
* Rename some functions and variables
* Remove mces_to_process counter and add a flag to indicate
there is a mce info to process.
---
arch/powerpc/include/asm/machdep.h | 2 +
arch/powerpc/include/asm/mce.h | 13 +++++
arch/powerpc/include/asm/paca.h | 1 +
arch/powerpc/kernel/mce.c | 60 +++++++++++++-----------
arch/powerpc/kernel/time.c | 2 +
arch/powerpc/platforms/pseries/pseries.h | 1 +
arch/powerpc/platforms/pseries/ras.c | 31 +-----------
arch/powerpc/platforms/pseries/setup.c | 1 +
8 files changed, 53 insertions(+), 58 deletions(-)
diff --git a/arch/powerpc/include/asm/machdep.h b/arch/powerpc/include/asm/machdep.h
index 9c3c9f04129f..d22b222ba471 100644
--- a/arch/powerpc/include/asm/machdep.h
+++ b/arch/powerpc/include/asm/machdep.h
@@ -99,6 +99,8 @@ struct machdep_calls {
/* Called during machine check exception to retrive fixup address. */
bool (*mce_check_early_recovery)(struct pt_regs *regs);
+ void (*machine_check_log_err)(void);
+
/* Motherboard/chipset features. This is a kind of general purpose
* hook used to control some machine specific features (like reset
* lines, chip power control, etc...).
diff --git a/arch/powerpc/include/asm/mce.h b/arch/powerpc/include/asm/mce.h
index 331d944280b8..c9f0936bd3c9 100644
--- a/arch/powerpc/include/asm/mce.h
+++ b/arch/powerpc/include/asm/mce.h
@@ -235,8 +235,21 @@ extern void machine_check_print_event_info(struct machine_check_event *evt,
unsigned long addr_to_pfn(struct pt_regs *regs, unsigned long addr);
extern void mce_common_process_ue(struct pt_regs *regs,
struct mce_error_info *mce_err);
+void mce_irq_work_queue(void);
int mce_register_notifier(struct notifier_block *nb);
int mce_unregister_notifier(struct notifier_block *nb);
+
+#ifdef CONFIG_PPC_BOOK3S_64
+void mce_run_irq_context_handlers(void);
+#else
+static inline void mce_run_irq_context_handlers(void) { };
+#endif /* CONFIG_PPC_BOOK3S_64 */
+
+#ifdef CONFIG_PPC_BOOK3S_64
+void set_mce_pending_irq_work(void);
+void clear_mce_pending_irq_work(void);
+#endif /* CONFIG_PPC_BOOK3S_64 */
+
#ifdef CONFIG_PPC_BOOK3S_64
void flush_and_reload_slb(void);
void flush_erat(void);
diff --git a/arch/powerpc/include/asm/paca.h b/arch/powerpc/include/asm/paca.h
index dc05a862e72a..963030689cfa 100644
--- a/arch/powerpc/include/asm/paca.h
+++ b/arch/powerpc/include/asm/paca.h
@@ -280,6 +280,7 @@ struct paca_struct {
#endif
#ifdef CONFIG_PPC_BOOK3S_64
struct mce_info *mce_info;
+ u8 mce_pending_irq_work;
#endif /* CONFIG_PPC_BOOK3S_64 */
} ____cacheline_aligned;
diff --git a/arch/powerpc/kernel/mce.c b/arch/powerpc/kernel/mce.c
index fd829f7f25a4..6af798803ece 100644
--- a/arch/powerpc/kernel/mce.c
+++ b/arch/powerpc/kernel/mce.c
@@ -28,19 +28,9 @@
#include "setup.h"
-static void machine_check_process_queued_event(struct irq_work *work);
-static void machine_check_ue_irq_work(struct irq_work *work);
static void machine_check_ue_event(struct machine_check_event *evt);
static void machine_process_ue_event(struct work_struct *work);
-static struct irq_work mce_event_process_work = {
- .func = machine_check_process_queued_event,
-};
-
-static struct irq_work mce_ue_event_irq_work = {
- .func = machine_check_ue_irq_work,
-};
-
static DECLARE_WORK(mce_ue_event_work, machine_process_ue_event);
static BLOCKING_NOTIFIER_HEAD(mce_notifier_list);
@@ -89,6 +79,13 @@ static void mce_set_error_info(struct machine_check_event *mce,
}
}
+void mce_irq_work_queue(void)
+{
+ /* Raise decrementer interrupt */
+ arch_irq_work_raise();
+ set_mce_pending_irq_work();
+}
+
/*
* Decode and save high level MCE information into per cpu buffer which
* is an array of machine_check_event structure.
@@ -217,7 +214,7 @@ void release_mce_event(void)
get_mce_event(NULL, true);
}
-static void machine_check_ue_irq_work(struct irq_work *work)
+static void machine_check_ue_work(void)
{
schedule_work(&mce_ue_event_work);
}
@@ -239,7 +236,7 @@ static void machine_check_ue_event(struct machine_check_event *evt)
evt, sizeof(*evt));
/* Queue work to process this event later. */
- irq_work_queue(&mce_ue_event_irq_work);
+ mce_irq_work_queue();
}
/*
@@ -249,7 +246,6 @@ void machine_check_queue_event(void)
{
int index;
struct machine_check_event evt;
- unsigned long msr;
if (!get_mce_event(&evt, MCE_EVENT_RELEASE))
return;
@@ -263,20 +259,7 @@ void machine_check_queue_event(void)
memcpy(&local_paca->mce_info->mce_event_queue[index],
&evt, sizeof(evt));
- /*
- * Queue irq work to process this event later. Before
- * queuing the work enable translation for non radix LPAR,
- * as irq_work_queue may try to access memory outside RMO
- * region.
- */
- if (!radix_enabled() && firmware_has_feature(FW_FEATURE_LPAR)) {
- msr = mfmsr();
- mtmsr(msr | MSR_IR | MSR_DR);
- irq_work_queue(&mce_event_process_work);
- mtmsr(msr);
- } else {
- irq_work_queue(&mce_event_process_work);
- }
+ mce_irq_work_queue();
}
void mce_common_process_ue(struct pt_regs *regs,
@@ -338,7 +321,7 @@ static void machine_process_ue_event(struct work_struct *work)
* process pending MCE event from the mce event queue. This function will be
* called during syscall exit.
*/
-static void machine_check_process_queued_event(struct irq_work *work)
+static void machine_check_process_queued_event(void)
{
int index;
struct machine_check_event *evt;
@@ -363,6 +346,27 @@ static void machine_check_process_queued_event(struct irq_work *work)
}
}
+void set_mce_pending_irq_work(void)
+{
+ local_paca->mce_pending_irq_work = 1;
+}
+
+void clear_mce_pending_irq_work(void)
+{
+ local_paca->mce_pending_irq_work = 0;
+}
+
+void mce_run_irq_context_handlers(void)
+{
+ if (unlikely(local_paca->mce_pending_irq_work)) {
+ if (ppc_md.machine_check_log_err)
+ ppc_md.machine_check_log_err();
+ machine_check_process_queued_event();
+ machine_check_ue_work();
+ clear_mce_pending_irq_work();
+ }
+}
+
void machine_check_print_event_info(struct machine_check_event *evt,
bool user_mode, bool in_guest)
{
diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
index cae8f03a44fe..4cff842180e8 100644
--- a/arch/powerpc/kernel/time.c
+++ b/arch/powerpc/kernel/time.c
@@ -70,6 +70,7 @@
#include <asm/vdso_datapage.h>
#include <asm/firmware.h>
#include <asm/asm-prototypes.h>
+#include <asm/mce.h>
/* powerpc clocksource/clockevent code */
@@ -594,6 +595,7 @@ DEFINE_INTERRUPT_HANDLER_ASYNC(timer_interrupt)
if (test_irq_work_pending()) {
clear_irq_work_pending();
+ mce_run_irq_context_handlers();
irq_work_run();
}
diff --git a/arch/powerpc/platforms/pseries/pseries.h b/arch/powerpc/platforms/pseries/pseries.h
index 3544778e06d0..9cf0d33dfbf5 100644
--- a/arch/powerpc/platforms/pseries/pseries.h
+++ b/arch/powerpc/platforms/pseries/pseries.h
@@ -21,6 +21,7 @@ struct pt_regs;
extern int pSeries_system_reset_exception(struct pt_regs *regs);
extern int pSeries_machine_check_exception(struct pt_regs *regs);
extern long pseries_machine_check_realmode(struct pt_regs *regs);
+void pSeries_machine_check_log_err(void);
#ifdef CONFIG_SMP
extern void smp_init_pseries(void);
diff --git a/arch/powerpc/platforms/pseries/ras.c b/arch/powerpc/platforms/pseries/ras.c
index 56092dccfdb8..8613f9cc5798 100644
--- a/arch/powerpc/platforms/pseries/ras.c
+++ b/arch/powerpc/platforms/pseries/ras.c
@@ -23,11 +23,6 @@ static DEFINE_SPINLOCK(ras_log_buf_lock);
static int ras_check_exception_token;
-static void mce_process_errlog_event(struct irq_work *work);
-static struct irq_work mce_errlog_process_work = {
- .func = mce_process_errlog_event,
-};
-
#define EPOW_SENSOR_TOKEN 9
#define EPOW_SENSOR_INDEX 0
@@ -729,40 +724,16 @@ static int mce_handle_error(struct pt_regs *regs, struct rtas_error_log *errp)
error_type = mce_log->error_type;
disposition = mce_handle_err_realmode(disposition, error_type);
-
- /*
- * Enable translation as we will be accessing per-cpu variables
- * in save_mce_event() which may fall outside RMO region, also
- * leave it enabled because subsequently we will be queuing work
- * to workqueues where again per-cpu variables accessed, besides
- * fwnmi_release_errinfo() crashes when called in realmode on
- * pseries.
- * Note: All the realmode handling like flushing SLB entries for
- * SLB multihit is done by now.
- */
out:
- msr = mfmsr();
- mtmsr(msr | MSR_IR | MSR_DR);
-
disposition = mce_handle_err_virtmode(regs, errp, mce_log,
disposition);
-
- /*
- * Queue irq work to log this rtas event later.
- * irq_work_queue uses per-cpu variables, so do this in virt
- * mode as well.
- */
- irq_work_queue(&mce_errlog_process_work);
-
- mtmsr(msr);
-
return disposition;
}
/*
* Process MCE rtas errlog event.
*/
-static void mce_process_errlog_event(struct irq_work *work)
+void pSeries_machine_check_log_err(void)
{
struct rtas_error_log *err;
diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c
index 8a62af5b9c24..9bdc487b8e35 100644
--- a/arch/powerpc/platforms/pseries/setup.c
+++ b/arch/powerpc/platforms/pseries/setup.c
@@ -1084,6 +1084,7 @@ define_machine(pseries) {
.system_reset_exception = pSeries_system_reset_exception,
.machine_check_early = pseries_machine_check_realmode,
.machine_check_exception = pSeries_machine_check_exception,
+ .machine_check_log_err = pSeries_machine_check_log_err,
#ifdef CONFIG_KEXEC_CORE
.machine_kexec = pSeries_machine_kexec,
.kexec_cpu_down = pseries_kexec_cpu_down,
--
2.31.1
^ permalink raw reply related
* [PATCH] powerpc/32s: Enable STRICT_MODULE_RWX for the 603 core
From: Christophe Leroy @ 2022-01-17 10:06 UTC (permalink / raw)
To: Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman
Cc: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org
The book3s/32 MMU doesn't support per page execution protection and
doesn't support RO protection for kernel pages.
However, on the 603 which implements software loaded TLBs, execution
protection is honored by the TLB Miss handler which doesn't load
Instruction TLB for non executable pages. And RO protection is
honored by clearing the C bit for RO pages, leading to DSI.
So on the 603, STRICT_MODULE_RWX is possible without much effort.
Don't disable STRICT_MODULE_RWX on book3s/32 and print a warning
in case STRICT_MODULE_RWX has been selected and the platform has
a Hardware HASH MMU.
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
---
arch/powerpc/Kconfig | 2 +-
arch/powerpc/mm/pgtable_32.c | 3 +++
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 0631c9241af3..cabd26b2c103 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -140,7 +140,7 @@ config PPC
select ARCH_HAS_SET_MEMORY
select ARCH_HAS_STRICT_KERNEL_RWX if (PPC_BOOK3S || PPC_8xx || 40x) && !HIBERNATION
select ARCH_HAS_STRICT_KERNEL_RWX if FSL_BOOKE && !HIBERNATION && !RANDOMIZE_BASE
- select ARCH_HAS_STRICT_MODULE_RWX if ARCH_HAS_STRICT_KERNEL_RWX && !PPC_BOOK3S_32
+ select ARCH_HAS_STRICT_MODULE_RWX if ARCH_HAS_STRICT_KERNEL_RWX
select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
select ARCH_HAS_UACCESS_FLUSHCACHE
select ARCH_HAS_UBSAN_SANITIZE_ALL
diff --git a/arch/powerpc/mm/pgtable_32.c b/arch/powerpc/mm/pgtable_32.c
index f71ededdc02a..a56ade39dc68 100644
--- a/arch/powerpc/mm/pgtable_32.c
+++ b/arch/powerpc/mm/pgtable_32.c
@@ -148,6 +148,9 @@ void mark_rodata_ro(void)
{
unsigned long numpages;
+ if (IS_ENABLED(CONFIG_STRICT_MODULE_RWX) && mmu_has_feature(MMU_FTR_HPTE_TABLE))
+ pr_warn("This platform has HASH MMU, STRICT_MODULE_RWX won't work\n");
+
if (v_block_mapped((unsigned long)_stext + 1)) {
mmu_mark_rodata_ro();
ptdump_check_wx();
--
2.33.1
^ permalink raw reply related
* Re: [PATCH v3 1/2] powerpc/mce: Avoid using irq_work_queue() in realmode
From: Ganesh @ 2022-01-17 8:09 UTC (permalink / raw)
To: Nicholas Piggin, linuxppc-dev, mpe; +Cc: mahesh, dja
In-Reply-To: <1637757546.z3bufxuoab.astroid@bobo.none>
[-- Attachment #1: Type: text/plain, Size: 9761 bytes --]
On 11/24/21 18:33, Nicholas Piggin wrote:
> Excerpts from Ganesh Goudar's message of November 24, 2021 7:54 pm:
>> In realmode mce handler we use irq_work_queue() to defer
>> the processing of mce events, irq_work_queue() can only
>> be called when translation is enabled because it touches
>> memory outside RMA, hence we enable translation before
>> calling irq_work_queue and disable on return, though it
>> is not safe to do in realmode.
>>
>> To avoid this, program the decrementer and call the event
>> processing functions from timer handler.
>>
>> Signed-off-by: Ganesh Goudar<ganeshgr@linux.ibm.com>
>> ---
>> V2:
>> * Use arch_irq_work_raise to raise decrementer interrupt.
>> * Avoid having atomic variable.
>>
>> V3:
>> * Fix build error.
>> Reported by kernel test bot.
>> ---
>> arch/powerpc/include/asm/machdep.h | 2 +
>> arch/powerpc/include/asm/mce.h | 2 +
>> arch/powerpc/include/asm/paca.h | 1 +
>> arch/powerpc/kernel/mce.c | 51 +++++++++++-------------
>> arch/powerpc/kernel/time.c | 3 ++
>> arch/powerpc/platforms/pseries/pseries.h | 1 +
>> arch/powerpc/platforms/pseries/ras.c | 31 +-------------
>> arch/powerpc/platforms/pseries/setup.c | 1 +
>> 8 files changed, 34 insertions(+), 58 deletions(-)
>>
>> diff --git a/arch/powerpc/include/asm/machdep.h b/arch/powerpc/include/asm/machdep.h
>> index 9c3c9f04129f..d22b222ba471 100644
>> --- a/arch/powerpc/include/asm/machdep.h
>> +++ b/arch/powerpc/include/asm/machdep.h
>> @@ -99,6 +99,8 @@ struct machdep_calls {
>> /* Called during machine check exception to retrive fixup address. */
>> bool (*mce_check_early_recovery)(struct pt_regs *regs);
>>
>> + void (*machine_check_log_err)(void);
>> +
>> /* Motherboard/chipset features. This is a kind of general purpose
>> * hook used to control some machine specific features (like reset
>> * lines, chip power control, etc...).
>> diff --git a/arch/powerpc/include/asm/mce.h b/arch/powerpc/include/asm/mce.h
>> index 331d944280b8..6e306aaf58aa 100644
>> --- a/arch/powerpc/include/asm/mce.h
>> +++ b/arch/powerpc/include/asm/mce.h
>> @@ -235,8 +235,10 @@ extern void machine_check_print_event_info(struct machine_check_event *evt,
>> unsigned long addr_to_pfn(struct pt_regs *regs, unsigned long addr);
>> extern void mce_common_process_ue(struct pt_regs *regs,
>> struct mce_error_info *mce_err);
>> +void machine_check_raise_dec_intr(void);
>> int mce_register_notifier(struct notifier_block *nb);
>> int mce_unregister_notifier(struct notifier_block *nb);
>> +void mce_run_late_handlers(void);
>> #ifdef CONFIG_PPC_BOOK3S_64
>> void flush_and_reload_slb(void);
>> void flush_erat(void);
>> diff --git a/arch/powerpc/include/asm/paca.h b/arch/powerpc/include/asm/paca.h
>> index dc05a862e72a..d463c796f7fa 100644
>> --- a/arch/powerpc/include/asm/paca.h
>> +++ b/arch/powerpc/include/asm/paca.h
>> @@ -280,6 +280,7 @@ struct paca_struct {
>> #endif
>> #ifdef CONFIG_PPC_BOOK3S_64
>> struct mce_info *mce_info;
>> + u32 mces_to_process;
>> #endif /* CONFIG_PPC_BOOK3S_64 */
>> } ____cacheline_aligned;
>>
>> diff --git a/arch/powerpc/kernel/mce.c b/arch/powerpc/kernel/mce.c
>> index fd829f7f25a4..8e17f29472a0 100644
>> --- a/arch/powerpc/kernel/mce.c
>> +++ b/arch/powerpc/kernel/mce.c
>> @@ -28,19 +28,9 @@
>>
>> #include "setup.h"
>>
>> -static void machine_check_process_queued_event(struct irq_work *work);
>> -static void machine_check_ue_irq_work(struct irq_work *work);
>> static void machine_check_ue_event(struct machine_check_event *evt);
>> static void machine_process_ue_event(struct work_struct *work);
>>
>> -static struct irq_work mce_event_process_work = {
>> - .func = machine_check_process_queued_event,
>> -};
>> -
>> -static struct irq_work mce_ue_event_irq_work = {
>> - .func = machine_check_ue_irq_work,
>> -};
>> -
>> static DECLARE_WORK(mce_ue_event_work, machine_process_ue_event);
>>
>> static BLOCKING_NOTIFIER_HEAD(mce_notifier_list);
>> @@ -89,6 +79,12 @@ static void mce_set_error_info(struct machine_check_event *mce,
>> }
>> }
>>
>> +/* Raise decrementer interrupt */
>> +void machine_check_raise_dec_intr(void)
>> +{
>> + arch_irq_work_raise();
>> +}
> It would be better if the name specifically related to irq work, which
> is more than just dec interrupt. It might be good to set mces_to_process
> here as well.
Sure
>
> I would name it something like mce_irq_work_queue, and the paca variable
> to mce_pending_irq_work...
Ok
>
>
>> +void mce_run_late_handlers(void)
>> +{
>> + if (unlikely(local_paca->mces_to_process)) {
>> + if (ppc_md.machine_check_log_err)
>> + ppc_md.machine_check_log_err();
>> + machine_check_process_queued_event();
>> + machine_check_ue_work();
>> + local_paca->mces_to_process--;
>> + }
>> +}
> The problem with a counter is that you're clearing the irq work pending
> in the timer interrupt, so you'll never call in here again to clear that
> (until something else sets irq work).
>
> But as far as I can see it does not need to be a counter, just a flag.
> The machine check calls will process multiple events, right? (and the
> current irq_work queue does not queue the same work multiple times).
You are right, It can just be a flag.
>
> Oh. That's actually bad, isn't it? Our irq work should be per-CPU
> because the callbacks are mainly only operating on the local paca
> queued events, so we have a longstanding bug there AFAIKS. Your patch
> will solve it if everything is converted over.
>
>> +
>> void machine_check_print_event_info(struct machine_check_event *evt,
>> bool user_mode, bool in_guest)
>> {
>> diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
>> index cae8f03a44fe..94c591b6f9d2 100644
>> --- a/arch/powerpc/kernel/time.c
>> +++ b/arch/powerpc/kernel/time.c
>> @@ -594,6 +594,9 @@ DEFINE_INTERRUPT_HANDLER_ASYNC(timer_interrupt)
>>
>> if (test_irq_work_pending()) {
>> clear_irq_work_pending();
>> +#ifdef CONFIG_PPC_BOOK3S_64
>> + mce_run_late_handlers();
>> +#endif
> Maybe create a no-op inline function for others and call unconditionally
> here. I wonder if the name could be better, we have lots of handlers, of
> varying earliness. real-mode, then virt mode NMI context, then IRQ
> context, then workqueue context.
>
> mce_run_irq_context_handlers() might not be much better though.
>
>> irq_work_run();
>> }
>>
>> diff --git a/arch/powerpc/platforms/pseries/pseries.h b/arch/powerpc/platforms/pseries/pseries.h
>> index 3544778e06d0..9cf0d33dfbf5 100644
>> --- a/arch/powerpc/platforms/pseries/pseries.h
>> +++ b/arch/powerpc/platforms/pseries/pseries.h
>> @@ -21,6 +21,7 @@ struct pt_regs;
>> extern int pSeries_system_reset_exception(struct pt_regs *regs);
>> extern int pSeries_machine_check_exception(struct pt_regs *regs);
>> extern long pseries_machine_check_realmode(struct pt_regs *regs);
>> +void pSeries_machine_check_log_err(void);
>>
>> #ifdef CONFIG_SMP
>> extern void smp_init_pseries(void);
>> diff --git a/arch/powerpc/platforms/pseries/ras.c b/arch/powerpc/platforms/pseries/ras.c
>> index 56092dccfdb8..8613f9cc5798 100644
>> --- a/arch/powerpc/platforms/pseries/ras.c
>> +++ b/arch/powerpc/platforms/pseries/ras.c
>> @@ -23,11 +23,6 @@ static DEFINE_SPINLOCK(ras_log_buf_lock);
>>
>> static int ras_check_exception_token;
>>
>> -static void mce_process_errlog_event(struct irq_work *work);
>> -static struct irq_work mce_errlog_process_work = {
>> - .func = mce_process_errlog_event,
>> -};
>> -
>> #define EPOW_SENSOR_TOKEN 9
>> #define EPOW_SENSOR_INDEX 0
>>
>> @@ -729,40 +724,16 @@ static int mce_handle_error(struct pt_regs *regs, struct rtas_error_log *errp)
>> error_type = mce_log->error_type;
>>
>> disposition = mce_handle_err_realmode(disposition, error_type);
>> -
>> - /*
>> - * Enable translation as we will be accessing per-cpu variables
>> - * in save_mce_event() which may fall outside RMO region, also
>> - * leave it enabled because subsequently we will be queuing work
>> - * to workqueues where again per-cpu variables accessed, besides
>> - * fwnmi_release_errinfo() crashes when called in realmode on
>> - * pseries.
>> - * Note: All the realmode handling like flushing SLB entries for
>> - * SLB multihit is done by now.
>> - */
>> out:
>> - msr = mfmsr();
>> - mtmsr(msr | MSR_IR | MSR_DR);
>> -
>> disposition = mce_handle_err_virtmode(regs, errp, mce_log,
>> disposition);
>> -
>> - /*
>> - * Queue irq work to log this rtas event later.
>> - * irq_work_queue uses per-cpu variables, so do this in virt
>> - * mode as well.
>> - */
>> - irq_work_queue(&mce_errlog_process_work);
>> -
>> - mtmsr(msr);
>> -
>> return disposition;
>> }
>>
>> /*
>> * Process MCE rtas errlog event.
>> */
>> -static void mce_process_errlog_event(struct irq_work *work)
>> +void pSeries_machine_check_log_err(void)
>> {
>> struct rtas_error_log *err;
>>
>> diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c
>> index 8a62af5b9c24..9bdc487b8e35 100644
>> --- a/arch/powerpc/platforms/pseries/setup.c
>> +++ b/arch/powerpc/platforms/pseries/setup.c
>> @@ -1084,6 +1084,7 @@ define_machine(pseries) {
>> .system_reset_exception = pSeries_system_reset_exception,
>> .machine_check_early = pseries_machine_check_realmode,
>> .machine_check_exception = pSeries_machine_check_exception,
>> + .machine_check_log_err = pSeries_machine_check_log_err,
>> #ifdef CONFIG_KEXEC_CORE
>> .machine_kexec = pSeries_machine_kexec,
>> .kexec_cpu_down = pseries_kexec_cpu_down,
>> --
>> 2.31.1
>>
>>
[-- Attachment #2: Type: text/html, Size: 10463 bytes --]
^ permalink raw reply
* Re: [PATCH v3 2/2] pseries/mce: Refactor the pseries mce handling code
From: Ganesh @ 2022-01-17 8:11 UTC (permalink / raw)
To: Nicholas Piggin, linuxppc-dev, mpe; +Cc: mahesh, dja
In-Reply-To: <1637759013.aa9l8cb1io.astroid@bobo.none>
[-- Attachment #1: Type: text/plain, Size: 5937 bytes --]
On 11/24/21 18:40, Nicholas Piggin wrote:
> Excerpts from Ganesh Goudar's message of November 24, 2021 7:55 pm:
>> Now that we are no longer switching on the mmu in realmode
>> mce handler, Revert the commit 4ff753feab02("powerpc/pseries:
>> Avoid using addr_to_pfn in real mode") partially, which
>> introduced functions mce_handle_err_virtmode/realmode() to
>> separate mce handler code which needed translation to enabled.
>>
>> Signed-off-by: Ganesh Goudar<ganeshgr@linux.ibm.com>
>> ---
>> arch/powerpc/platforms/pseries/ras.c | 122 +++++++++++----------------
>> 1 file changed, 49 insertions(+), 73 deletions(-)
>>
>> diff --git a/arch/powerpc/platforms/pseries/ras.c b/arch/powerpc/platforms/pseries/ras.c
>> index 8613f9cc5798..62e1519b8355 100644
>> --- a/arch/powerpc/platforms/pseries/ras.c
>> +++ b/arch/powerpc/platforms/pseries/ras.c
>> @@ -511,58 +511,17 @@ int pSeries_system_reset_exception(struct pt_regs *regs)
>> return 0; /* need to perform reset */
>> }
>>
>> -static int mce_handle_err_realmode(int disposition, u8 error_type)
>> -{
>> -#ifdef CONFIG_PPC_BOOK3S_64
>> - if (disposition == RTAS_DISP_NOT_RECOVERED) {
>> - switch (error_type) {
>> - case MC_ERROR_TYPE_ERAT:
>> - flush_erat();
>> - disposition = RTAS_DISP_FULLY_RECOVERED;
>> - break;
>> - case MC_ERROR_TYPE_SLB:
>> - /*
>> - * Store the old slb content in paca before flushing.
>> - * Print this when we go to virtual mode.
>> - * There are chances that we may hit MCE again if there
>> - * is a parity error on the SLB entry we trying to read
>> - * for saving. Hence limit the slb saving to single
>> - * level of recursion.
>> - */
>> - if (local_paca->in_mce == 1)
>> - slb_save_contents(local_paca->mce_faulty_slbs);
>> - flush_and_reload_slb();
>> - disposition = RTAS_DISP_FULLY_RECOVERED;
>> - break;
>> - default:
>> - break;
>> - }
>> - } else if (disposition == RTAS_DISP_LIMITED_RECOVERY) {
>> - /* Platform corrected itself but could be degraded */
>> - pr_err("MCE: limited recovery, system may be degraded\n");
>> - disposition = RTAS_DISP_FULLY_RECOVERED;
>> - }
>> -#endif
>> - return disposition;
>> -}
>> -
>> -static int mce_handle_err_virtmode(struct pt_regs *regs,
>> - struct rtas_error_log *errp,
>> - struct pseries_mc_errorlog *mce_log,
>> - int disposition)
>> +static int mce_handle_error(struct pt_regs *regs, struct rtas_error_log *errp)
>> {
>> struct mce_error_info mce_err = { 0 };
>> + unsigned long eaddr = 0, paddr = 0;
>> + struct pseries_errorlog *pseries_log;
>> + struct pseries_mc_errorlog *mce_log;
>> + int disposition = rtas_error_disposition(errp);
>> int initiator = rtas_error_initiator(errp);
>> int severity = rtas_error_severity(errp);
>> - unsigned long eaddr = 0, paddr = 0;
>> u8 error_type, err_sub_type;
>>
>> - if (!mce_log)
>> - goto out;
>> -
>> - error_type = mce_log->error_type;
>> - err_sub_type = rtas_mc_error_sub_type(mce_log);
>> -
>> if (initiator == RTAS_INITIATOR_UNKNOWN)
>> mce_err.initiator = MCE_INITIATOR_UNKNOWN;
>> else if (initiator == RTAS_INITIATOR_CPU)
>> @@ -588,6 +547,8 @@ static int mce_handle_err_virtmode(struct pt_regs *regs,
>> mce_err.severity = MCE_SEV_SEVERE;
>> else if (severity == RTAS_SEVERITY_ERROR)
>> mce_err.severity = MCE_SEV_SEVERE;
>> + else if (severity == RTAS_SEVERITY_FATAL)
>> + mce_err.severity = MCE_SEV_FATAL;
>> else
>> mce_err.severity = MCE_SEV_FATAL;
>>
> What's this hunk for?
>
>> @@ -599,7 +560,18 @@ static int mce_handle_err_virtmode(struct pt_regs *regs,
>> mce_err.error_type = MCE_ERROR_TYPE_UNKNOWN;
>> mce_err.error_class = MCE_ECLASS_UNKNOWN;
>>
>> - switch (error_type) {
>> + if (!rtas_error_extended(errp))
>> + goto out;
>> +
>> + pseries_log = get_pseries_errorlog(errp, PSERIES_ELOG_SECT_ID_MCE);
>> + if (!pseries_log)
>> + goto out;
>> +
>> + mce_log = (struct pseries_mc_errorlog *)pseries_log->data;
>> + error_type = mce_log->error_type;
>> + err_sub_type = rtas_mc_error_sub_type(mce_log);
>> +
>> + switch (mce_log->error_type) {
>> case MC_ERROR_TYPE_UE:
>> mce_err.error_type = MCE_ERROR_TYPE_UE;
>> mce_common_process_ue(regs, &mce_err);
>> @@ -692,41 +664,45 @@ static int mce_handle_err_virtmode(struct pt_regs *regs,
>> mce_err.error_type = MCE_ERROR_TYPE_DCACHE;
>> break;
>> case MC_ERROR_TYPE_I_CACHE:
>> - mce_err.error_type = MCE_ERROR_TYPE_ICACHE;
>> + mce_err.error_type = MCE_ERROR_TYPE_DCACHE;
>> break;
> And this one. Doesn't look right.
>
>> case MC_ERROR_TYPE_UNKNOWN:
>> default:
>> mce_err.error_type = MCE_ERROR_TYPE_UNKNOWN;
>> break;
>> }
>> +
>> +#ifdef CONFIG_PPC_BOOK3S_64
>> + if (disposition == RTAS_DISP_NOT_RECOVERED) {
>> + switch (error_type) {
>> + case MC_ERROR_TYPE_SLB:
>> + case MC_ERROR_TYPE_ERAT:
>> + /*
>> + * Store the old slb content in paca before flushing.
>> + * Print this when we go to virtual mode.
>> + * There are chances that we may hit MCE again if there
>> + * is a parity error on the SLB entry we trying to read
>> + * for saving. Hence limit the slb saving to single
>> + * level of recursion.
>> + */
>> + if (local_paca->in_mce == 1)
>> + slb_save_contents(local_paca->mce_faulty_slbs);
>> + flush_and_reload_slb();
>> + disposition = RTAS_DISP_FULLY_RECOVERED;
>> + break;
>> + default:
>> + break;
>> + }
>> + } else if (disposition == RTAS_DISP_LIMITED_RECOVERY) {
>> + /* Platform corrected itself but could be degraded */
>> + pr_err("MCE: limited recovery, system may be degraded\n");
>> + disposition = RTAS_DISP_FULLY_RECOVERED;
>> + }
> I would prefer if you just keep the mce_handle_err_realmode function
> (can rename it if you want). It's actually changed a bit since the
> patch being reverted so we don't want to undo that.
Ok, I will leave it as is for now, we can change it later.
>
> Thanks,
> Nick
[-- Attachment #2: Type: text/html, Size: 6507 bytes --]
^ permalink raw reply
* [PATCH v2 2/5] dt-bindings: tlv320aic31xx: Define PLL clock inputs
From: Ariel D'Alessandro @ 2022-01-17 13:21 UTC (permalink / raw)
To: alsa-devel, devicetree, linux-kernel, linux-omap, linuxppc-dev
Cc: ariel.dalessandro, kuninori.morimoto.gx, Xiubo.Lee, tony,
shengjiu.wang, tiwai, lgirdwood, robh+dt, perex, nicoleotsuka,
broonie, bcousson, michael, festevam
In-Reply-To: <20220117132109.283365-1-ariel.dalessandro@collabora.com>
Add constants for the different PLL clock inputs in tlv320aic31xx.
Signed-off-by: Ariel D'Alessandro <ariel.dalessandro@collabora.com>
---
include/dt-bindings/sound/tlv320aic31xx.h | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/include/dt-bindings/sound/tlv320aic31xx.h b/include/dt-bindings/sound/tlv320aic31xx.h
index 3a845fbba992..4a80238ab250 100644
--- a/include/dt-bindings/sound/tlv320aic31xx.h
+++ b/include/dt-bindings/sound/tlv320aic31xx.h
@@ -6,4 +6,9 @@
#define MICBIAS_2_5V 2
#define MICBIAS_AVDDV 3
+#define PLL_CLKIN_MCLK 0x00
+#define PLL_CLKIN_BCLK 0x01
+#define PLL_CLKIN_GPIO1 0x02
+#define PLL_CLKIN_DIN 0x03
+
#endif /* __DT_TLV320AIC31XX_H */
--
2.34.1
^ permalink raw reply related
* [PATCH v2 1/5] dt-bindings: sound: Rename tlv320aic31xx-micbias as tlv320aic31xx
From: Ariel D'Alessandro @ 2022-01-17 13:21 UTC (permalink / raw)
To: alsa-devel, devicetree, linux-kernel, linux-omap, linuxppc-dev
Cc: ariel.dalessandro, kuninori.morimoto.gx, Xiubo.Lee, tony,
shengjiu.wang, tiwai, lgirdwood, robh+dt, perex, nicoleotsuka,
broonie, bcousson, michael, festevam
In-Reply-To: <20220117132109.283365-1-ariel.dalessandro@collabora.com>
Let's use a more generic name, so other definitions for tlv320aic31xx
can be included.
Signed-off-by: Ariel D'Alessandro <ariel.dalessandro@collabora.com>
Acked-by: Rob Herring <robh@kernel.org>
---
.../devicetree/bindings/sound/tlv320aic31xx.txt | 2 +-
arch/arm/boot/dts/am43x-epos-evm.dts | 2 +-
include/dt-bindings/sound/tlv320aic31xx-micbias.h | 9 ---------
include/dt-bindings/sound/tlv320aic31xx.h | 9 +++++++++
sound/soc/codecs/tlv320aic31xx.c | 2 +-
5 files changed, 12 insertions(+), 12 deletions(-)
delete mode 100644 include/dt-bindings/sound/tlv320aic31xx-micbias.h
create mode 100644 include/dt-bindings/sound/tlv320aic31xx.h
diff --git a/Documentation/devicetree/bindings/sound/tlv320aic31xx.txt b/Documentation/devicetree/bindings/sound/tlv320aic31xx.txt
index e372303697dc..bbad98d5b986 100644
--- a/Documentation/devicetree/bindings/sound/tlv320aic31xx.txt
+++ b/Documentation/devicetree/bindings/sound/tlv320aic31xx.txt
@@ -58,7 +58,7 @@ The pins can be used in referring sound node's audio-routing property.
Example:
#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/sound/tlv320aic31xx-micbias.h>
+#include <dt-bindings/sound/tlv320aic31xx.h>
tlv320aic31xx: tlv320aic31xx@18 {
compatible = "ti,tlv320aic311x";
diff --git a/arch/arm/boot/dts/am43x-epos-evm.dts b/arch/arm/boot/dts/am43x-epos-evm.dts
index 2f4d2e4e9b3e..4f9a7251a107 100644
--- a/arch/arm/boot/dts/am43x-epos-evm.dts
+++ b/arch/arm/boot/dts/am43x-epos-evm.dts
@@ -11,7 +11,7 @@
#include <dt-bindings/pinctrl/am43xx.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pwm/pwm.h>
-#include <dt-bindings/sound/tlv320aic31xx-micbias.h>
+#include <dt-bindings/sound/tlv320aic31xx.h>
/ {
model = "TI AM43x EPOS EVM";
diff --git a/include/dt-bindings/sound/tlv320aic31xx-micbias.h b/include/dt-bindings/sound/tlv320aic31xx-micbias.h
deleted file mode 100644
index c6895a18a455..000000000000
--- a/include/dt-bindings/sound/tlv320aic31xx-micbias.h
+++ /dev/null
@@ -1,9 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __DT_TLV320AIC31XX_MICBIAS_H
-#define __DT_TLV320AIC31XX_MICBIAS_H
-
-#define MICBIAS_2_0V 1
-#define MICBIAS_2_5V 2
-#define MICBIAS_AVDDV 3
-
-#endif /* __DT_TLV320AIC31XX_MICBIAS_H */
diff --git a/include/dt-bindings/sound/tlv320aic31xx.h b/include/dt-bindings/sound/tlv320aic31xx.h
new file mode 100644
index 000000000000..3a845fbba992
--- /dev/null
+++ b/include/dt-bindings/sound/tlv320aic31xx.h
@@ -0,0 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef __DT_TLV320AIC31XX_H
+#define __DT_TLV320AIC31XX_H
+
+#define MICBIAS_2_0V 1
+#define MICBIAS_2_5V 2
+#define MICBIAS_AVDDV 3
+
+#endif /* __DT_TLV320AIC31XX_H */
diff --git a/sound/soc/codecs/tlv320aic31xx.c b/sound/soc/codecs/tlv320aic31xx.c
index e77342aff46d..8331dc26bcd2 100644
--- a/sound/soc/codecs/tlv320aic31xx.c
+++ b/sound/soc/codecs/tlv320aic31xx.c
@@ -32,7 +32,7 @@
#include <sound/soc.h>
#include <sound/initval.h>
#include <sound/tlv.h>
-#include <dt-bindings/sound/tlv320aic31xx-micbias.h>
+#include <dt-bindings/sound/tlv320aic31xx.h>
#include "tlv320aic31xx.h"
--
2.34.1
^ permalink raw reply related
* [PATCH v2 0/5] fsl-asoc-card: Add optional dt property for setting mclk-id
From: Ariel D'Alessandro @ 2022-01-17 13:21 UTC (permalink / raw)
To: alsa-devel, devicetree, linux-kernel, linux-omap, linuxppc-dev
Cc: ariel.dalessandro, kuninori.morimoto.gx, Xiubo.Lee, tony,
shengjiu.wang, tiwai, lgirdwood, robh+dt, perex, nicoleotsuka,
broonie, bcousson, michael, festevam
This is a follow up of patchset:
[RFC patch 0/5] Support BCLK input clock in tlv320aic31xx
Sound cards may allow using different main clock inputs. In the generic
fsl-asoc-card driver, these values are hardcoded for each specific card
configuration.
Let's make it more flexible, allowing setting mclk-id from the
device-tree node.
Changes in v2:
* Split patch adding mckl-id property.
Ariel D'Alessandro (5):
dt-bindings: sound: Rename tlv320aic31xx-micbias as tlv320aic31xx
dt-bindings: tlv320aic31xx: Define PLL clock inputs
ASoC: bindings: fsl-asoc-card: Add mclk-id optional property
ASoC: fsl-asoc-card: Add optional dt property for setting mclk-id
ASoC: fsl-asoc-card: Remove BCLK default value for tlv320aic31xx card
.../devicetree/bindings/sound/fsl-asoc-card.txt | 1 +
.../devicetree/bindings/sound/tlv320aic31xx.txt | 2 +-
arch/arm/boot/dts/am43x-epos-evm.dts | 2 +-
include/dt-bindings/sound/tlv320aic31xx-micbias.h | 9 ---------
include/dt-bindings/sound/tlv320aic31xx.h | 14 ++++++++++++++
sound/soc/codecs/tlv320aic31xx.c | 2 +-
sound/soc/fsl/fsl-asoc-card.c | 7 ++++++-
7 files changed, 24 insertions(+), 13 deletions(-)
delete mode 100644 include/dt-bindings/sound/tlv320aic31xx-micbias.h
create mode 100644 include/dt-bindings/sound/tlv320aic31xx.h
--
2.34.1
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox