# git rev-parse -q --verify c0842fbc1b18c7a044e6ff3e8fa78bfa822c7d1a^{commit} c0842fbc1b18c7a044e6ff3e8fa78bfa822c7d1a already have revision, skipping fetch # git checkout -q -f -B kisskb c0842fbc1b18c7a044e6ff3e8fa78bfa822c7d1a # git clean -qxdf # < git log -1 # commit c0842fbc1b18c7a044e6ff3e8fa78bfa822c7d1a # Author: Linus Torvalds # Date: Fri Jul 31 07:51:14 2020 +0200 # # random32: move the pseudo-random 32-bit definitions to prandom.h # # The addition of percpu.h to the list of includes in random.h revealed # some circular dependencies on arm64 and possibly other platforms. This # include was added solely for the pseudo-random definitions, which have # nothing to do with the rest of the definitions in this file but are # still there for legacy reasons. # # This patch moves the pseudo-random parts to linux/prandom.h and the # percpu.h include with it, which is now guarded by _LINUX_PRANDOM_H and # protected against recursive inclusion. # # A further cleanup step would be to remove this from # entirely, and make people who use the prandom infrastructure include # just the new header file. That's a bit of a churn patch, but grepping # for "prandom_" and "next_pseudo_random32" "struct rnd_state" should # catch most users. # # But it turns out that that nice cleanup step is fairly painful, because # a _lot_ of code currently seems to depend on the implicit include of # , which can currently come in a lot of ways, including # such fairly core headfers as . # # So the "nice cleanup" part may or may never happen. # # Fixes: 1c9df907da83 ("random: fix circular include dependency on arm64 after addition of percpu.h") # Tested-by: Guenter Roeck # Acked-by: Willy Tarreau # Signed-off-by: Linus Torvalds # < /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/sh4-linux/bin/sh4-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/sh4-linux/bin/sh4-linux-ld --version # < git log --format=%s --max-count=1 c0842fbc1b18c7a044e6ff3e8fa78bfa822c7d1a # < make -s -j 48 ARCH=sh O=/kisskb/build/linus_rsk7201_defconfig_sh4-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/sh4-linux/bin/sh4-linux- rsk7201_defconfig # < make -s -j 48 ARCH=sh O=/kisskb/build/linus_rsk7201_defconfig_sh4-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/sh4-linux/bin/sh4-linux- help # make -s -j 48 ARCH=sh O=/kisskb/build/linus_rsk7201_defconfig_sh4-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/sh4-linux/bin/sh4-linux- olddefconfig # make -s -j 48 ARCH=sh O=/kisskb/build/linus_rsk7201_defconfig_sh4-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/sh4-linux/bin/sh4-linux- Generating include/generated/machtypes.h :1511:2: warning: #warning syscall clone3 not implemented [-Wcpp] /kisskb/src/arch/sh/kernel/cpu/sh2a/../../entry-common.S: Assembler messages: /kisskb/src/arch/sh/kernel/cpu/sh2a/../../entry-common.S:385: Warning: overflow in branch to syscall_exit_work; converted into longer instruction sequence /kisskb/src/arch/sh/kernel/cpu/sh2a/../../entry-common.S:388: Warning: overflow in branch to syscall_exit_work; converted into longer instruction sequence /kisskb/src/drivers/sh/clk/cpg.c: In function 'r8': /kisskb/src/drivers/sh/clk/cpg.c:41:17: warning: passing argument 1 of 'ioread8' discards 'const' qualifier from pointer target type return ioread8(addr); ^ In file included from /kisskb/src/arch/sh/include/asm/io.h:21:0, from /kisskb/src/include/linux/io.h:13, from /kisskb/src/drivers/sh/clk/cpg.c:14: /kisskb/src/include/asm-generic/iomap.h:29:21: note: expected 'void *' but argument is of type 'const void *' extern unsigned int ioread8(void __iomem *); ^ /kisskb/src/drivers/sh/clk/cpg.c: In function 'r16': /kisskb/src/drivers/sh/clk/cpg.c:46:18: warning: passing argument 1 of 'ioread16' discards 'const' qualifier from pointer target type return ioread16(addr); ^ In file included from /kisskb/src/arch/sh/include/asm/io.h:21:0, from /kisskb/src/include/linux/io.h:13, from /kisskb/src/drivers/sh/clk/cpg.c:14: /kisskb/src/include/asm-generic/iomap.h:30:21: note: expected 'void *' but argument is of type 'const void *' extern unsigned int ioread16(void __iomem *); ^ /kisskb/src/drivers/sh/clk/cpg.c: In function 'r32': /kisskb/src/drivers/sh/clk/cpg.c:51:18: warning: passing argument 1 of 'ioread32' discards 'const' qualifier from pointer target type return ioread32(addr); ^ In file included from /kisskb/src/arch/sh/include/asm/io.h:21:0, from /kisskb/src/include/linux/io.h:13, from /kisskb/src/drivers/sh/clk/cpg.c:14: /kisskb/src/include/asm-generic/iomap.h:32:21: note: expected 'void *' but argument is of type 'const void *' extern unsigned int ioread32(void __iomem *); ^ Image Name: Linux-5.8.0+ Created: Tue Aug 4 23:38:07 2020 Image Type: SuperH Linux Kernel Image (gzip compressed) Data Size: 1678623 Bytes = 1639.28 KiB = 1.60 MiB Load Address: 08001000 Entry Point: 08002000 Image arch/sh/boot/uImage is ready Completed OK # rm -rf /kisskb/build/linus_rsk7201_defconfig_sh4-gcc4.9 # Build took: 0:00:25.044281