mainline/master build: 212 builds: 2 failed, 210 passed, 2 errors, 55 warnings (v4.14-rc1-9-g0666f560b71b)
Full Build Summary: https://kernelci.org/build/mainline/branch/master/kernel/v4.14-rc1-9-g0666f5...
Tree: mainline Branch: master Git Describe: v4.14-rc1-9-g0666f560b71b Git Commit: 0666f560b71b899cd11a7caf39fd45129e9030fd Git URL: http://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git Built: 4 unique architectures
Build Failures Detected:
mips: gcc version 6.3.0 (GCC)
msp71xx_defconfig: FAIL
x86: gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)
allmodconfig+CONFIG_OF=n: FAIL
Errors and Warnings Detected:
arm64: gcc version 5.3.1 20160412 (Linaro GCC 5.3-2016.05)
defconfig+CONFIG_KASAN=y: 4 warnings
arm: gcc version 5.3.1 20160412 (Linaro GCC 5.3-2016.05)
cm_x2xx_defconfig: 2 warnings cm_x300_defconfig: 2 warnings em_x270_defconfig: 2 warnings iop13xx_defconfig: 2 warnings nhk8815_defconfig: 2 warnings pxa_defconfig: 1 warning qcom_defconfig: 2 warnings s3c2410_defconfig: 8 warnings trizeps4_defconfig: 2 warnings viper_defconfig: 1 warning zeus_defconfig: 1 warning
mips: gcc version 6.3.0 (GCC)
bmips_be_defconfig: 2 warnings bmips_stb_defconfig: 2 warnings defconfig+CONFIG_LKDTM=y: 2 warnings defconfig+kselftest: 2 warnings ip22_defconfig: 2 warnings ip32_defconfig: 2 warnings jazz_defconfig: 2 warnings lemote2f_defconfig: 2 warnings loongson3_defconfig: 2 warnings msp71xx_defconfig: 1 error mtx1_defconfig: 2 warnings rm200_defconfig: 2 warnings
x86: gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)
allmodconfig+CONFIG_OF=n: 1 error defconfig+CONFIG_KASAN=y: 4 warnings
Errors summary:
1 arch/mips/pmcs-msp71xx/msp_smp.c:72:2: error: implicit declaration of function 'set_vi_handler' [-Werror=implicit-function-declaration] 1 /bin/sh: 1: /home/buildslave/workspace/kernel-single-defconfig-builder/defconfig/allmodconfig+CONFIG_OF=n/label/builder/build-x86/tools/objtool//fixdep: Permission denied
Warnings summary:
19 fs/cifs/smb2ops.c:563:1: warning: 'smb2_set_ea' defined but not used [-Wunused-function] 19 fs/cifs/smb2ops.c:513:1: warning: 'smb2_query_eas' defined but not used [-Wunused-function] 6 include/linux/kernel.h:60:38: warning: division by zero [-Wdiv-by-zero] 1 net/wireless/nl80211.c:5779:1: warning: the frame size of 2064 bytes is larger than 2048 bytes [-Wframe-larger-than=] 1 net/wireless/nl80211.c:4476:1: warning: the frame size of 2240 bytes is larger than 2048 bytes [-Wframe-larger-than=] 1 net/wireless/nl80211.c:4476:1: warning: the frame size of 2224 bytes is larger than 2048 bytes [-Wframe-larger-than=] 1 net/wireless/nl80211.c:1905:1: warning: the frame size of 3904 bytes is larger than 2048 bytes [-Wframe-larger-than=] 1 net/wireless/nl80211.c:1905:1: warning: the frame size of 3848 bytes is larger than 2048 bytes [-Wframe-larger-than=] 1 net/wireless/nl80211.c:1411:1: warning: the frame size of 2216 bytes is larger than 2048 bytes [-Wframe-larger-than=] 1 net/wireless/nl80211.c:1411:1: warning: the frame size of 2208 bytes is larger than 2048 bytes [-Wframe-larger-than=] 1 net/bridge/br_netlink.c:1406:1: warning: the frame size of 2544 bytes is larger than 2048 bytes [-Wframe-larger-than=] 1 arch/arm/configs/zeus_defconfig:115:warning: symbol value 'm' invalid for FRAMEBUFFER_CONSOLE 1 arch/arm/configs/viper_defconfig:116:warning: symbol value 'm' invalid for FRAMEBUFFER_CONSOLE 1 arch/arm/configs/pxa_defconfig:474:warning: symbol value 'm' invalid for FRAMEBUFFER_CONSOLE
Section mismatches summary:
27 WARNING: modpost: Found 1 section mismatch(es). 6 WARNING: modpost: Found 2 section mismatch(es).
================================================================================
Detailed per-defconfig build reports:
-------------------------------------------------------------------------------- acs5k_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- acs5k_tiny_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- allmodconfig (x86) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- allmodconfig (arm64) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- allmodconfig+CONFIG_OF=n (x86) — FAIL, 1 error, 0 warnings, 0 section mismatches
Errors: /bin/sh: 1: /home/buildslave/workspace/kernel-single-defconfig-builder/defconfig/allmodconfig+CONFIG_OF=n/label/builder/build-x86/tools/objtool//fixdep: Permission denied
-------------------------------------------------------------------------------- allnoconfig (x86) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- allnoconfig (arm64) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- allnoconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- allnoconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- am200epdkit_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- ar7_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- aspeed_g4_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- aspeed_g5_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- assabet_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- at91_dt_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- ath25_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- ath79_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
Section mismatches: WARNING: modpost: Found 1 section mismatch(es).
-------------------------------------------------------------------------------- axm55xx_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- badge4_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- bcm2835_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- bcm47xx_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
Section mismatches: WARNING: modpost: Found 1 section mismatch(es).
-------------------------------------------------------------------------------- bcm63xx_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- bigsur_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- bmips_be_defconfig (mips) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings: fs/cifs/smb2ops.c:563:1: warning: 'smb2_set_ea' defined but not used [-Wunused-function] fs/cifs/smb2ops.c:513:1: warning: 'smb2_query_eas' defined but not used [-Wunused-function]
-------------------------------------------------------------------------------- bmips_stb_defconfig (mips) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings: fs/cifs/smb2ops.c:563:1: warning: 'smb2_set_ea' defined but not used [-Wunused-function] fs/cifs/smb2ops.c:513:1: warning: 'smb2_query_eas' defined but not used [-Wunused-function]
-------------------------------------------------------------------------------- capcella_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
Section mismatches: WARNING: modpost: Found 1 section mismatch(es).
-------------------------------------------------------------------------------- cavium_octeon_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
Section mismatches: WARNING: modpost: Found 2 section mismatch(es).
-------------------------------------------------------------------------------- cerfcube_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- ci20_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- clps711x_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- cm_x2xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings: fs/cifs/smb2ops.c:513:1: warning: 'smb2_query_eas' defined but not used [-Wunused-function] fs/cifs/smb2ops.c:563:1: warning: 'smb2_set_ea' defined but not used [-Wunused-function]
-------------------------------------------------------------------------------- cm_x300_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings: fs/cifs/smb2ops.c:513:1: warning: 'smb2_query_eas' defined but not used [-Wunused-function] fs/cifs/smb2ops.c:563:1: warning: 'smb2_set_ea' defined but not used [-Wunused-function]
-------------------------------------------------------------------------------- cns3420vb_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- cobalt_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
Section mismatches: WARNING: modpost: Found 1 section mismatch(es).
-------------------------------------------------------------------------------- colibri_pxa270_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- colibri_pxa300_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- collie_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- corgi_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- davinci_all_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- db1xxx_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
Section mismatches: WARNING: modpost: Found 1 section mismatch(es).
-------------------------------------------------------------------------------- decstation_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- defconfig (arm64) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- defconfig+CONFIG_CPU_BIG_ENDIAN=y (arm64) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- defconfig+CONFIG_EXPERT=y+CONFIG_ACPI=y (arm64) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- defconfig+CONFIG_KASAN=y (x86) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings: net/wireless/nl80211.c:1411:1: warning: the frame size of 2216 bytes is larger than 2048 bytes [-Wframe-larger-than=] net/wireless/nl80211.c:4476:1: warning: the frame size of 2224 bytes is larger than 2048 bytes [-Wframe-larger-than=] net/wireless/nl80211.c:5779:1: warning: the frame size of 2064 bytes is larger than 2048 bytes [-Wframe-larger-than=] net/wireless/nl80211.c:1905:1: warning: the frame size of 3848 bytes is larger than 2048 bytes [-Wframe-larger-than=]
-------------------------------------------------------------------------------- defconfig+CONFIG_KASAN=y (arm64) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings: net/bridge/br_netlink.c:1406:1: warning: the frame size of 2544 bytes is larger than 2048 bytes [-Wframe-larger-than=] net/wireless/nl80211.c:1411:1: warning: the frame size of 2208 bytes is larger than 2048 bytes [-Wframe-larger-than=] net/wireless/nl80211.c:1905:1: warning: the frame size of 3904 bytes is larger than 2048 bytes [-Wframe-larger-than=] net/wireless/nl80211.c:4476:1: warning: the frame size of 2240 bytes is larger than 2048 bytes [-Wframe-larger-than=]
-------------------------------------------------------------------------------- defconfig+CONFIG_LKDTM=y (x86) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- defconfig+CONFIG_LKDTM=y (arm64) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- defconfig+CONFIG_LKDTM=y (mips) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings: fs/cifs/smb2ops.c:563:1: warning: 'smb2_set_ea' defined but not used [-Wunused-function] fs/cifs/smb2ops.c:513:1: warning: 'smb2_query_eas' defined but not used [-Wunused-function]
-------------------------------------------------------------------------------- defconfig+CONFIG_OF_UNITTEST=y (x86) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- defconfig+CONFIG_OF_UNITTEST=y (arm64) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- defconfig+CONFIG_RANDOMIZE_BASE=y (arm64) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- defconfig+kselftest (x86) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- defconfig+kselftest (arm64) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- defconfig+kselftest (mips) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings: fs/cifs/smb2ops.c:563:1: warning: 'smb2_set_ea' defined but not used [-Wunused-function] fs/cifs/smb2ops.c:513:1: warning: 'smb2_query_eas' defined but not used [-Wunused-function]
-------------------------------------------------------------------------------- dove_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- e55_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- ebsa110_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- efm32_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- em_x270_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings: fs/cifs/smb2ops.c:513:1: warning: 'smb2_query_eas' defined but not used [-Wunused-function] fs/cifs/smb2ops.c:563:1: warning: 'smb2_set_ea' defined but not used [-Wunused-function]
-------------------------------------------------------------------------------- ep93xx_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- eseries_pxa_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- exynos_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- ezx_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- footbridge_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- fuloong2e_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
Section mismatches: WARNING: modpost: Found 2 section mismatch(es).
-------------------------------------------------------------------------------- gemini_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- gpr_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
Section mismatches: WARNING: modpost: Found 1 section mismatch(es).
-------------------------------------------------------------------------------- h3600_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- h5000_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- hackkit_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- hisi_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- i386_defconfig (x86) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- imote2_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- imx_v4_v5_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- imx_v6_v7_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- integrator_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- iop13xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings: fs/cifs/smb2ops.c:513:1: warning: 'smb2_query_eas' defined but not used [-Wunused-function] fs/cifs/smb2ops.c:563:1: warning: 'smb2_set_ea' defined but not used [-Wunused-function]
-------------------------------------------------------------------------------- iop32x_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- iop33x_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- ip22_defconfig (mips) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings: fs/cifs/smb2ops.c:563:1: warning: 'smb2_set_ea' defined but not used [-Wunused-function] fs/cifs/smb2ops.c:513:1: warning: 'smb2_query_eas' defined but not used [-Wunused-function]
-------------------------------------------------------------------------------- ip27_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- ip28_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- ip32_defconfig (mips) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings: fs/cifs/smb2ops.c:563:1: warning: 'smb2_set_ea' defined but not used [-Wunused-function] fs/cifs/smb2ops.c:513:1: warning: 'smb2_query_eas' defined but not used [-Wunused-function]
Section mismatches: WARNING: modpost: Found 2 section mismatch(es).
-------------------------------------------------------------------------------- ixp4xx_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- jazz_defconfig (mips) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings: fs/cifs/smb2ops.c:563:1: warning: 'smb2_set_ea' defined but not used [-Wunused-function] fs/cifs/smb2ops.c:513:1: warning: 'smb2_query_eas' defined but not used [-Wunused-function]
-------------------------------------------------------------------------------- jmr3927_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
Section mismatches: WARNING: modpost: Found 1 section mismatch(es).
-------------------------------------------------------------------------------- jornada720_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- keystone_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- ks8695_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- lart_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- lasat_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
Section mismatches: WARNING: modpost: Found 1 section mismatch(es).
-------------------------------------------------------------------------------- lemote2f_defconfig (mips) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings: fs/cifs/smb2ops.c:563:1: warning: 'smb2_set_ea' defined but not used [-Wunused-function] fs/cifs/smb2ops.c:513:1: warning: 'smb2_query_eas' defined but not used [-Wunused-function]
Section mismatches: WARNING: modpost: Found 2 section mismatch(es).
-------------------------------------------------------------------------------- loongson1b_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- loongson1c_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- loongson3_defconfig (mips) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings: fs/cifs/smb2ops.c:563:1: warning: 'smb2_set_ea' defined but not used [-Wunused-function] fs/cifs/smb2ops.c:513:1: warning: 'smb2_query_eas' defined but not used [-Wunused-function]
Section mismatches: WARNING: modpost: Found 2 section mismatch(es).
-------------------------------------------------------------------------------- lpc18xx_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- lpc32xx_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- lpd270_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- lubbock_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- magician_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- mainstone_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- malta_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
Section mismatches: WARNING: modpost: Found 1 section mismatch(es).
-------------------------------------------------------------------------------- malta_kvm_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
Section mismatches: WARNING: modpost: Found 1 section mismatch(es).
-------------------------------------------------------------------------------- malta_kvm_guest_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
Section mismatches: WARNING: modpost: Found 1 section mismatch(es).
-------------------------------------------------------------------------------- malta_qemu_32r6_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
Section mismatches: WARNING: modpost: Found 1 section mismatch(es).
-------------------------------------------------------------------------------- maltaaprp_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
Section mismatches: WARNING: modpost: Found 1 section mismatch(es).
-------------------------------------------------------------------------------- maltasmvp_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
Section mismatches: WARNING: modpost: Found 1 section mismatch(es).
-------------------------------------------------------------------------------- maltasmvp_eva_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
Section mismatches: WARNING: modpost: Found 1 section mismatch(es).
-------------------------------------------------------------------------------- maltaup_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
Section mismatches: WARNING: modpost: Found 1 section mismatch(es).
-------------------------------------------------------------------------------- maltaup_xpa_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
Section mismatches: WARNING: modpost: Found 1 section mismatch(es).
-------------------------------------------------------------------------------- markeins_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
Section mismatches: WARNING: modpost: Found 1 section mismatch(es).
-------------------------------------------------------------------------------- mini2440_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- mips_paravirt_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- mmp2_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- moxart_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- mpc30x_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
Section mismatches: WARNING: modpost: Found 1 section mismatch(es).
-------------------------------------------------------------------------------- mps2_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- msp71xx_defconfig (mips) — FAIL, 1 error, 0 warnings, 0 section mismatches
Errors: arch/mips/pmcs-msp71xx/msp_smp.c:72:2: error: implicit declaration of function 'set_vi_handler' [-Werror=implicit-function-declaration]
-------------------------------------------------------------------------------- mtx1_defconfig (mips) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings: fs/cifs/smb2ops.c:563:1: warning: 'smb2_set_ea' defined but not used [-Wunused-function] fs/cifs/smb2ops.c:513:1: warning: 'smb2_query_eas' defined but not used [-Wunused-function]
Section mismatches: WARNING: modpost: Found 1 section mismatch(es).
-------------------------------------------------------------------------------- multi_v4t_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- multi_v5_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- multi_v7_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- multi_v7_defconfig+CONFIG_ARM_LPAE=y (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- multi_v7_defconfig+CONFIG_CPU_BIG_ENDIAN=y (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- multi_v7_defconfig+CONFIG_EFI=y (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- multi_v7_defconfig+CONFIG_EFI=y+CONFIG_ARM_LPAE=y (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- multi_v7_defconfig+CONFIG_LKDTM=y (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- multi_v7_defconfig+CONFIG_PROVE_LOCKING=y (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- multi_v7_defconfig+CONFIG_SMP=n (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- multi_v7_defconfig+CONFIG_THUMB2_KERNEL=y+CONFIG_ARM_MODULE_PLTS=y (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- multi_v7_defconfig+kselftest (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- mv78xx0_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- mvebu_v5_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- mvebu_v7_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- mvebu_v7_defconfig+CONFIG_CPU_BIG_ENDIAN=y (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- mxs_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- neponset_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- netwinder_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- netx_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- nhk8815_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings: fs/cifs/smb2ops.c:513:1: warning: 'smb2_query_eas' defined but not used [-Wunused-function] fs/cifs/smb2ops.c:563:1: warning: 'smb2_set_ea' defined but not used [-Wunused-function]
-------------------------------------------------------------------------------- nlm_xlp_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
Section mismatches: WARNING: modpost: Found 2 section mismatch(es).
-------------------------------------------------------------------------------- nlm_xlr_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
Section mismatches: WARNING: modpost: Found 1 section mismatch(es).
-------------------------------------------------------------------------------- nuc910_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- nuc950_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- nuc960_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- omap1_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- omap2plus_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- omega2p_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- orion5x_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- palmz72_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- pcm027_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- pic32mzda_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- pistachio_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- pleb_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- pnx8335_stb225_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- prima2_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- pxa168_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- pxa255-idp_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- pxa3xx_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- pxa910_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- pxa_defconfig (arm) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings: arch/arm/configs/pxa_defconfig:474:warning: symbol value 'm' invalid for FRAMEBUFFER_CONSOLE
-------------------------------------------------------------------------------- qcom_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings: fs/cifs/smb2ops.c:513:1: warning: 'smb2_query_eas' defined but not used [-Wunused-function] fs/cifs/smb2ops.c:563:1: warning: 'smb2_set_ea' defined but not used [-Wunused-function]
-------------------------------------------------------------------------------- qi_lb60_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- raumfeld_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- rb532_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- rbtx49xx_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
Section mismatches: WARNING: modpost: Found 1 section mismatch(es).
-------------------------------------------------------------------------------- realview_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- rm200_defconfig (mips) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings: fs/cifs/smb2ops.c:563:1: warning: 'smb2_set_ea' defined but not used [-Wunused-function] fs/cifs/smb2ops.c:513:1: warning: 'smb2_query_eas' defined but not used [-Wunused-function]
Section mismatches: WARNING: modpost: Found 1 section mismatch(es).
-------------------------------------------------------------------------------- rpc_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- rt305x_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- s3c2410_defconfig (arm) — PASS, 0 errors, 8 warnings, 0 section mismatches
Warnings: fs/cifs/smb2ops.c:513:1: warning: 'smb2_query_eas' defined but not used [-Wunused-function] fs/cifs/smb2ops.c:563:1: warning: 'smb2_set_ea' defined but not used [-Wunused-function] include/linux/kernel.h:60:38: warning: division by zero [-Wdiv-by-zero] include/linux/kernel.h:60:38: warning: division by zero [-Wdiv-by-zero] include/linux/kernel.h:60:38: warning: division by zero [-Wdiv-by-zero] include/linux/kernel.h:60:38: warning: division by zero [-Wdiv-by-zero] include/linux/kernel.h:60:38: warning: division by zero [-Wdiv-by-zero] include/linux/kernel.h:60:38: warning: division by zero [-Wdiv-by-zero]
-------------------------------------------------------------------------------- s3c6400_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- s5pv210_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- sama5_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- sb1250_swarm_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- shannon_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- shmobile_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- simpad_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- socfpga_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- spear13xx_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- spear3xx_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- spear6xx_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- spitz_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- stm32_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- sunxi_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- tango4_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- tb0219_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
Section mismatches: WARNING: modpost: Found 1 section mismatch(es).
-------------------------------------------------------------------------------- tb0226_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
Section mismatches: WARNING: modpost: Found 1 section mismatch(es).
-------------------------------------------------------------------------------- tb0287_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
Section mismatches: WARNING: modpost: Found 1 section mismatch(es).
-------------------------------------------------------------------------------- tct_hammer_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- tegra_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- tinyconfig (x86) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- tinyconfig (arm64) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- tinyconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- tinyconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- trizeps4_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings: fs/cifs/smb2ops.c:513:1: warning: 'smb2_query_eas' defined but not used [-Wunused-function] fs/cifs/smb2ops.c:563:1: warning: 'smb2_set_ea' defined but not used [-Wunused-function]
-------------------------------------------------------------------------------- u300_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- u8500_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- versatile_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- versatile_defconfig+CONFIG_OF_UNITTEST=y (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- vexpress_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- viper_defconfig (arm) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings: arch/arm/configs/viper_defconfig:116:warning: symbol value 'm' invalid for FRAMEBUFFER_CONSOLE
-------------------------------------------------------------------------------- vocore2_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- vt8500_v6_v7_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- workpad_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- x86_64_defconfig (x86) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- xcep_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- xilfpga_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
-------------------------------------------------------------------------------- xway_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
Section mismatches: WARNING: modpost: Found 1 section mismatch(es).
-------------------------------------------------------------------------------- zeus_defconfig (arm) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings: arch/arm/configs/zeus_defconfig:115:warning: symbol value 'm' invalid for FRAMEBUFFER_CONSOLE
-------------------------------------------------------------------------------- zx_defconfig (arm) — PASS, 0 errors, 0 warnings, 0 section mismatches
--- For more info write to info@kernelci.org
On Sun, Sep 17, 2017 at 7:04 PM, kernelci.org bot bot@kernelci.org wrote:
Errors summary: 1 arch/mips/pmcs-msp71xx/msp_smp.c:72:2: error: implicit declaration of function 'set_vi_handler' [-Werror=implicit-function-declaration]
Sent a patch now
Warnings summary: 19 fs/cifs/smb2ops.c:563:1: warning: 'smb2_set_ea' defined but not used [-Wunused-function] 19 fs/cifs/smb2ops.c:513:1: warning: 'smb2_query_eas' defined but not used [-Wunused-function]
Steve French merged my patch, should be upstream soon.
6 include/linux/kernel.h:60:38: warning: division by zero [-Wdiv-by-zero]
Geert sent a patch last week.
1 arch/arm/configs/zeus_defconfig:115:warning: symbol value 'm' invalid for FRAMEBUFFER_CONSOLE 1 arch/arm/configs/viper_defconfig:116:warning: symbol value 'm' invalid for FRAMEBUFFER_CONSOLE 1 arch/arm/configs/pxa_defconfig:474:warning: symbol value 'm' invalid for FRAMEBUFFER_CONSOLE
Sent a patch now
Section mismatches summary: 27 WARNING: modpost: Found 1 section mismatch(es). 6 WARNING: modpost: Found 2 section mismatch(es).
These are all MIPS warnings caused by Lorenzo's
04c81c7293df ("MIPS: PCI: Replace pci_fixup_irqs() call with host bridge IRQ mapping hooks")
The problem is that now we can reference pci_fixup_irqs from a function that is not marked __init, and probably should not be, since pcibios_scanbus() itself can be called at any time. Even before Lorenzo's change, having pcibios_map_irq as an __init function was problematic AFAICT on any platform that has hotplug-capable PCIe slots, or that can have a PCI host bridge driver in a loadable module.
The safe fix would be to remove all the __init annotations as well as the __initdata and __initconst annotations on data referenced by the map_irq functions.
Arnd
On Mon, Sep 18, 2017 at 05:56:02PM +0200, Arnd Bergmann wrote:
[...]
Section mismatches summary: 27 WARNING: modpost: Found 1 section mismatch(es). 6 WARNING: modpost: Found 2 section mismatch(es).
These are all MIPS warnings caused by Lorenzo's
04c81c7293df ("MIPS: PCI: Replace pci_fixup_irqs() call with host bridge IRQ mapping hooks")
The problem is that now we can reference pci_fixup_irqs from a function that is not marked __init, and probably should not be, since pcibios_scanbus() itself can be called at any time. Even before Lorenzo's change, having pcibios_map_irq as an __init function was problematic AFAICT on any platform that has hotplug-capable PCIe slots, or that can have a PCI host bridge driver in a loadable module.
The safe fix would be to remove all the __init annotations as well as the __initdata and __initconst annotations on data referenced by the map_irq functions.
Right. Patch below, I will send it out tomorrow (I certainly missed some annotations) please let me know if that's reasonable.
Lorenzo
-- >8 -- Subject: [PATCH] MIPS: Fix PCI host bridge map_irq() hook section mismatches
Commit 04c81c7293df ("MIPS: PCI: Replace pci_fixup_irqs() call with host bridge IRQ mapping hooks") allowed to move the PCI irq fixup to the new host bridge map/swizzle_irq() hooks mechanism. Those hooks can also be called after boot therefore functions called by them (and the data they refer to) must not be marked as __init/__initdata/__initconst lest compilation triggers section mismatches warnings.
Fix all the boards files map_irq() hooks by simply removing the respective __init/__initdata/__initconst section markers.
Fixes: 04c81c7293df ("MIPS: PCI: Replace pci_fixup_irqs() call with host bridge IRQ mapping hooks") Signed-off-by: Lorenzo Pieralisi lorenzo.pieralisi@arm.com Cc: Ralf Baechle ralf@linux-mips.org Cc: Arnd Bergmann arnd@arndb.de Cc: Steve French smfrench@gmail.com --- arch/mips/ath79/pci.c | 12 ++++++------ arch/mips/pci/fixup-capcella.c | 4 ++-- arch/mips/pci/fixup-cobalt.c | 8 ++++---- arch/mips/pci/fixup-emma2rh.c | 4 ++-- arch/mips/pci/fixup-fuloong2e.c | 2 +- arch/mips/pci/fixup-ip32.c | 4 ++-- arch/mips/pci/fixup-jmr3927.c | 2 +- arch/mips/pci/fixup-lantiq.c | 2 +- arch/mips/pci/fixup-lemote2f.c | 4 ++-- arch/mips/pci/fixup-loongson3.c | 2 +- arch/mips/pci/fixup-malta.c | 4 ++-- arch/mips/pci/fixup-mpc30x.c | 6 +++--- arch/mips/pci/fixup-pmcmsp.c | 8 ++++---- arch/mips/pci/fixup-rbtx4927.c | 2 +- arch/mips/pci/fixup-rbtx4938.c | 2 +- arch/mips/pci/fixup-sni.c | 12 ++++++------ arch/mips/pci/fixup-tb0219.c | 2 +- arch/mips/pci/fixup-tb0226.c | 2 +- arch/mips/pci/fixup-tb0287.c | 2 +- arch/mips/pci/pci-alchemy.c | 2 +- arch/mips/pci/pci-bcm47xx.c | 2 +- arch/mips/pci/pci-lasat.c | 2 +- arch/mips/pci/pci-mt7620.c | 2 +- arch/mips/pci/pci-octeon.c | 5 ++--- arch/mips/pci/pci-rt2880.c | 2 +- arch/mips/pci/pci-rt3883.c | 2 +- arch/mips/pci/pci-tx4939.c | 4 ++-- arch/mips/pci/pci-xlp.c | 2 +- arch/mips/pci/pci-xlr.c | 2 +- arch/mips/txx9/generic/setup.c | 2 +- arch/mips/txx9/jmr3927/setup.c | 2 +- arch/mips/txx9/rbtx4927/setup.c | 4 ++-- arch/mips/txx9/rbtx4938/setup.c | 2 +- arch/mips/txx9/rbtx4939/setup.c | 2 +- 34 files changed, 60 insertions(+), 61 deletions(-)
diff --git a/arch/mips/ath79/pci.c b/arch/mips/ath79/pci.c index 730c0b0..b816cb4 100644 --- a/arch/mips/ath79/pci.c +++ b/arch/mips/ath79/pci.c @@ -22,10 +22,10 @@ #include "pci.h"
static int (*ath79_pci_plat_dev_init)(struct pci_dev *dev); -static const struct ath79_pci_irq *ath79_pci_irq_map __initdata; -static unsigned ath79_pci_nr_irqs __initdata; +static const struct ath79_pci_irq *ath79_pci_irq_map; +static unsigned ath79_pci_nr_irqs;
-static const struct ath79_pci_irq ar71xx_pci_irq_map[] __initconst = { +static const struct ath79_pci_irq ar71xx_pci_irq_map[] = { { .slot = 17, .pin = 1, @@ -41,7 +41,7 @@ static const struct ath79_pci_irq ar71xx_pci_irq_map[] __initconst = { } };
-static const struct ath79_pci_irq ar724x_pci_irq_map[] __initconst = { +static const struct ath79_pci_irq ar724x_pci_irq_map[] = { { .slot = 0, .pin = 1, @@ -49,7 +49,7 @@ static const struct ath79_pci_irq ar724x_pci_irq_map[] __initconst = { } };
-static const struct ath79_pci_irq qca955x_pci_irq_map[] __initconst = { +static const struct ath79_pci_irq qca955x_pci_irq_map[] = { { .bus = 0, .slot = 0, @@ -64,7 +64,7 @@ static const struct ath79_pci_irq qca955x_pci_irq_map[] __initconst = { }, };
-int __init pcibios_map_irq(const struct pci_dev *dev, uint8_t slot, uint8_t pin) +int pcibios_map_irq(const struct pci_dev *dev, uint8_t slot, uint8_t pin) { int irq = -1; int i; diff --git a/arch/mips/pci/fixup-capcella.c b/arch/mips/pci/fixup-capcella.c index 1c02f57..b4c263f 100644 --- a/arch/mips/pci/fixup-capcella.c +++ b/arch/mips/pci/fixup-capcella.c @@ -32,13 +32,13 @@ #define INTC PC104PLUS_INTC_IRQ #define INTD PC104PLUS_INTD_IRQ
-static char irq_tab_capcella[][5] __initdata = { +static char irq_tab_capcella[][5] = { [11] = { -1, INT1, INT1, INT1, INT1 }, [12] = { -1, INT2, INT2, INT2, INT2 }, [14] = { -1, INTA, INTB, INTC, INTD } };
-int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) +int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { return irq_tab_capcella[slot][pin]; } diff --git a/arch/mips/pci/fixup-cobalt.c b/arch/mips/pci/fixup-cobalt.c index b3ab593..44be65c 100644 --- a/arch/mips/pci/fixup-cobalt.c +++ b/arch/mips/pci/fixup-cobalt.c @@ -147,7 +147,7 @@ static void qube_raq_via_board_id_fixup(struct pci_dev *dev) DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_0, qube_raq_via_board_id_fixup);
-static char irq_tab_qube1[] __initdata = { +static char irq_tab_qube1[] = { [COBALT_PCICONF_CPU] = 0, [COBALT_PCICONF_ETH0] = QUBE1_ETH0_IRQ, [COBALT_PCICONF_RAQSCSI] = SCSI_IRQ, @@ -156,7 +156,7 @@ static char irq_tab_qube1[] __initdata = { [COBALT_PCICONF_ETH1] = 0 };
-static char irq_tab_cobalt[] __initdata = { +static char irq_tab_cobalt[] = { [COBALT_PCICONF_CPU] = 0, [COBALT_PCICONF_ETH0] = ETH0_IRQ, [COBALT_PCICONF_RAQSCSI] = SCSI_IRQ, @@ -165,7 +165,7 @@ static char irq_tab_cobalt[] __initdata = { [COBALT_PCICONF_ETH1] = ETH1_IRQ };
-static char irq_tab_raq2[] __initdata = { +static char irq_tab_raq2[] = { [COBALT_PCICONF_CPU] = 0, [COBALT_PCICONF_ETH0] = ETH0_IRQ, [COBALT_PCICONF_RAQSCSI] = RAQ2_SCSI_IRQ, @@ -174,7 +174,7 @@ static char irq_tab_raq2[] __initdata = { [COBALT_PCICONF_ETH1] = ETH1_IRQ };
-int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) +int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { if (cobalt_board_id <= COBALT_BRD_ID_QUBE1) return irq_tab_qube1[slot]; diff --git a/arch/mips/pci/fixup-emma2rh.c b/arch/mips/pci/fixup-emma2rh.c index 19caf77..c31cb6a 100644 --- a/arch/mips/pci/fixup-emma2rh.c +++ b/arch/mips/pci/fixup-emma2rh.c @@ -43,7 +43,7 @@ */
#define MAX_SLOT_NUM 10 -static unsigned char irq_map[][5] __initdata = { +static unsigned char irq_map[][5] = { [3] = {0, MARKEINS_PCI_IRQ_INTB, MARKEINS_PCI_IRQ_INTC, MARKEINS_PCI_IRQ_INTD, 0,}, [4] = {0, MARKEINS_PCI_IRQ_INTA, 0, 0, 0,}, @@ -85,7 +85,7 @@ static void emma2rh_pci_host_fixup(struct pci_dev *dev) DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_EMMA2RH, emma2rh_pci_host_fixup);
-int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) +int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { return irq_map[slot][pin]; } diff --git a/arch/mips/pci/fixup-fuloong2e.c b/arch/mips/pci/fixup-fuloong2e.c index 50da773..b47c277 100644 --- a/arch/mips/pci/fixup-fuloong2e.c +++ b/arch/mips/pci/fixup-fuloong2e.c @@ -19,7 +19,7 @@ /* South bridge slot number is set by the pci probe process */ static u8 sb_slot = 5;
-int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) +int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { int irq = 0;
diff --git a/arch/mips/pci/fixup-ip32.c b/arch/mips/pci/fixup-ip32.c index 133685e..c6ec18a 100644 --- a/arch/mips/pci/fixup-ip32.c +++ b/arch/mips/pci/fixup-ip32.c @@ -21,7 +21,7 @@ #define INTB MACEPCI_SHARED0_IRQ #define INTC MACEPCI_SHARED1_IRQ #define INTD MACEPCI_SHARED2_IRQ -static char irq_tab_mace[][5] __initdata = { +static char irq_tab_mace[][5] = { /* Dummy INT#A INT#B INT#C INT#D */ {0, 0, 0, 0, 0}, /* This is placeholder row - never used */ {0, SCSI0, SCSI0, SCSI0, SCSI0}, @@ -39,7 +39,7 @@ static char irq_tab_mace[][5] __initdata = { * irqs. I suppose a device without a pin A will thank us for doing it * right if there exists such a broken piece of crap. */ -int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) +int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { return irq_tab_mace[slot][pin]; } diff --git a/arch/mips/pci/fixup-jmr3927.c b/arch/mips/pci/fixup-jmr3927.c index 0f10695..d3102ee 100644 --- a/arch/mips/pci/fixup-jmr3927.c +++ b/arch/mips/pci/fixup-jmr3927.c @@ -31,7 +31,7 @@ #include <asm/txx9/pci.h> #include <asm/txx9/jmr3927.h>
-int __init jmr3927_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) +int jmr3927_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { unsigned char irq = pin;
diff --git a/arch/mips/pci/fixup-lantiq.c b/arch/mips/pci/fixup-lantiq.c index 2b5427d..81530a1 100644 --- a/arch/mips/pci/fixup-lantiq.c +++ b/arch/mips/pci/fixup-lantiq.c @@ -23,7 +23,7 @@ int pcibios_plat_dev_init(struct pci_dev *dev) return 0; }
-int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) +int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { return of_irq_parse_and_map_pci(dev, slot, pin); } diff --git a/arch/mips/pci/fixup-lemote2f.c b/arch/mips/pci/fixup-lemote2f.c index 95ab9a1..20cdfdc 100644 --- a/arch/mips/pci/fixup-lemote2f.c +++ b/arch/mips/pci/fixup-lemote2f.c @@ -30,7 +30,7 @@ #define PCID 7
/* all the pci device has the PCIA pin, check the datasheet. */ -static char irq_tab[][5] __initdata = { +static char irq_tab[][5] = { /* INTA INTB INTC INTD */ {0, 0, 0, 0, 0}, /* 11: Unused */ {0, 0, 0, 0, 0}, /* 12: Unused */ @@ -51,7 +51,7 @@ static char irq_tab[][5] __initdata = { {0, 0, 0, 0, 0}, /* 27: Unused */ };
-int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) +int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { int virq;
diff --git a/arch/mips/pci/fixup-loongson3.c b/arch/mips/pci/fixup-loongson3.c index 2b6d5e1..8a741c2 100644 --- a/arch/mips/pci/fixup-loongson3.c +++ b/arch/mips/pci/fixup-loongson3.c @@ -32,7 +32,7 @@ static void print_fixup_info(const struct pci_dev *pdev) pdev->vendor, pdev->device, pdev->irq); }
-int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) +int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { print_fixup_info(dev); return dev->irq; diff --git a/arch/mips/pci/fixup-malta.c b/arch/mips/pci/fixup-malta.c index 40e920c..3ec8533 100644 --- a/arch/mips/pci/fixup-malta.c +++ b/arch/mips/pci/fixup-malta.c @@ -12,7 +12,7 @@ static char pci_irq[5] = { };
-static char irq_tab[][5] __initdata = { +static char irq_tab[][5] = { /* INTA INTB INTC INTD */ {0, 0, 0, 0, 0 }, /* 0: GT64120 PCI bridge */ {0, 0, 0, 0, 0 }, /* 1: Unused */ @@ -38,7 +38,7 @@ static char irq_tab[][5] __initdata = { {0, PCID, PCIA, PCIB, PCIC } /* 21: PCI Slot 4 */ };
-int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) +int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { int virq; virq = irq_tab[slot][pin]; diff --git a/arch/mips/pci/fixup-mpc30x.c b/arch/mips/pci/fixup-mpc30x.c index 8e4f828..66eaf45 100644 --- a/arch/mips/pci/fixup-mpc30x.c +++ b/arch/mips/pci/fixup-mpc30x.c @@ -22,19 +22,19 @@
#include <asm/vr41xx/mpc30x.h>
-static const int internal_func_irqs[] __initconst = { +static const int internal_func_irqs[] = { VRC4173_CASCADE_IRQ, VRC4173_AC97_IRQ, VRC4173_USB_IRQ, };
-static const int irq_tab_mpc30x[] __initconst = { +static const int irq_tab_mpc30x[] = { [12] = VRC4173_PCMCIA1_IRQ, [13] = VRC4173_PCMCIA2_IRQ, [29] = MQ200_IRQ, };
-int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) +int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { if (slot == 30) return internal_func_irqs[PCI_FUNC(dev->devfn)]; diff --git a/arch/mips/pci/fixup-pmcmsp.c b/arch/mips/pci/fixup-pmcmsp.c index fab405c..4ad2ef0 100644 --- a/arch/mips/pci/fixup-pmcmsp.c +++ b/arch/mips/pci/fixup-pmcmsp.c @@ -47,7 +47,7 @@
#if defined(CONFIG_PMC_MSP7120_GW) /* Garibaldi Board IRQ wiring to PCI slots */ -static char irq_tab[][5] __initdata = { +static char irq_tab[][5] = { /* INTA INTB INTC INTD */ {0, 0, 0, 0, 0 }, /* (AD[0]): Unused */ {0, 0, 0, 0, 0 }, /* (AD[1]): Unused */ @@ -86,7 +86,7 @@ static char irq_tab[][5] __initdata = { #elif defined(CONFIG_PMC_MSP7120_EVAL)
/* MSP7120 Eval Board IRQ wiring to PCI slots */ -static char irq_tab[][5] __initdata = { +static char irq_tab[][5] = { /* INTA INTB INTC INTD */ {0, 0, 0, 0, 0 }, /* (AD[0]): Unused */ {0, 0, 0, 0, 0 }, /* (AD[1]): Unused */ @@ -125,7 +125,7 @@ static char irq_tab[][5] __initdata = { #else
/* Unknown board -- don't assign any IRQs */ -static char irq_tab[][5] __initdata = { +static char irq_tab[][5] = { /* INTA INTB INTC INTD */ {0, 0, 0, 0, 0 }, /* (AD[0]): Unused */ {0, 0, 0, 0, 0 }, /* (AD[1]): Unused */ @@ -202,7 +202,7 @@ int pcibios_plat_dev_init(struct pci_dev *dev) * RETURNS: IRQ number * ****************************************************************************/ -int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) +int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { #if !defined(CONFIG_PMC_MSP7120_GW) && !defined(CONFIG_PMC_MSP7120_EVAL) printk(KERN_WARNING "PCI: unknown board, no PCI IRQs assigned.\n"); diff --git a/arch/mips/pci/fixup-rbtx4927.c b/arch/mips/pci/fixup-rbtx4927.c index 321db26..d6aaed1 100644 --- a/arch/mips/pci/fixup-rbtx4927.c +++ b/arch/mips/pci/fixup-rbtx4927.c @@ -36,7 +36,7 @@ #include <asm/txx9/pci.h> #include <asm/txx9/rbtx4927.h>
-int __init rbtx4927_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) +int rbtx4927_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { unsigned char irq = pin;
diff --git a/arch/mips/pci/fixup-rbtx4938.c b/arch/mips/pci/fixup-rbtx4938.c index a80579a..ff22a22 100644 --- a/arch/mips/pci/fixup-rbtx4938.c +++ b/arch/mips/pci/fixup-rbtx4938.c @@ -13,7 +13,7 @@ #include <asm/txx9/pci.h> #include <asm/txx9/rbtx4938.h>
-int __init rbtx4938_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) +int rbtx4938_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { int irq = tx4938_pcic1_map_irq(dev, slot);
diff --git a/arch/mips/pci/fixup-sni.c b/arch/mips/pci/fixup-sni.c index f67ebee..adb9a58 100644 --- a/arch/mips/pci/fixup-sni.c +++ b/arch/mips/pci/fixup-sni.c @@ -40,7 +40,7 @@ * seem to be a documentation error. At least on my RM200C the Cirrus * Logic CL-GD5434 VGA is device 3. */ -static char irq_tab_rm200[8][5] __initdata = { +static char irq_tab_rm200[8][5] = { /* INTA INTB INTC INTD */ { 0, 0, 0, 0, 0 }, /* EISA bridge */ { SCSI, SCSI, SCSI, SCSI, SCSI }, /* SCSI */ @@ -57,7 +57,7 @@ static char irq_tab_rm200[8][5] __initdata = { * * The VGA card is optional for RM300 systems. */ -static char irq_tab_rm300d[8][5] __initdata = { +static char irq_tab_rm300d[8][5] = { /* INTA INTB INTC INTD */ { 0, 0, 0, 0, 0 }, /* EISA bridge */ { SCSI, SCSI, SCSI, SCSI, SCSI }, /* SCSI */ @@ -69,7 +69,7 @@ static char irq_tab_rm300d[8][5] __initdata = { { 0, INTD, INTA, INTB, INTC }, /* Slot 4 */ };
-static char irq_tab_rm300e[5][5] __initdata = { +static char irq_tab_rm300e[5][5] = { /* INTA INTB INTC INTD */ { 0, 0, 0, 0, 0 }, /* HOST bridge */ { SCSI, SCSI, SCSI, SCSI, SCSI }, /* SCSI */ @@ -96,7 +96,7 @@ static char irq_tab_rm300e[5][5] __initdata = { #define INTC PCIT_IRQ_INTC #define INTD PCIT_IRQ_INTD
-static char irq_tab_pcit[13][5] __initdata = { +static char irq_tab_pcit[13][5] = { /* INTA INTB INTC INTD */ { 0, 0, 0, 0, 0 }, /* HOST bridge */ { SCSI0, SCSI0, SCSI0, SCSI0, SCSI0 }, /* SCSI */ @@ -113,7 +113,7 @@ static char irq_tab_pcit[13][5] __initdata = { { 0, INTA, INTB, INTC, INTD }, /* Slot 5 */ };
-static char irq_tab_pcit_cplus[13][5] __initdata = { +static char irq_tab_pcit_cplus[13][5] = { /* INTA INTB INTC INTD */ { 0, 0, 0, 0, 0 }, /* HOST bridge */ { 0, INTB, INTC, INTD, INTA }, /* PCI Slot 9 */ @@ -130,7 +130,7 @@ static inline int is_rm300_revd(void) return (csmsr & 0xa0) == 0x20; }
-int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) +int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { switch (sni_brd_type) { case SNI_BRD_PCI_TOWER_CPLUS: diff --git a/arch/mips/pci/fixup-tb0219.c b/arch/mips/pci/fixup-tb0219.c index d0b0083..cc58153 100644 --- a/arch/mips/pci/fixup-tb0219.c +++ b/arch/mips/pci/fixup-tb0219.c @@ -23,7 +23,7 @@
#include <asm/vr41xx/tb0219.h>
-int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) +int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { int irq = -1;
diff --git a/arch/mips/pci/fixup-tb0226.c b/arch/mips/pci/fixup-tb0226.c index 4196ccf..b827b5c 100644 --- a/arch/mips/pci/fixup-tb0226.c +++ b/arch/mips/pci/fixup-tb0226.c @@ -23,7 +23,7 @@ #include <asm/vr41xx/giu.h> #include <asm/vr41xx/tb0226.h>
-int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) +int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { int irq = -1;
diff --git a/arch/mips/pci/fixup-tb0287.c b/arch/mips/pci/fixup-tb0287.c index 8c5039e..98f2628 100644 --- a/arch/mips/pci/fixup-tb0287.c +++ b/arch/mips/pci/fixup-tb0287.c @@ -22,7 +22,7 @@
#include <asm/vr41xx/tb0287.h>
-int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) +int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { unsigned char bus; int irq = -1; diff --git a/arch/mips/pci/pci-alchemy.c b/arch/mips/pci/pci-alchemy.c index e99ca77..f15ec98 100644 --- a/arch/mips/pci/pci-alchemy.c +++ b/arch/mips/pci/pci-alchemy.c @@ -522,7 +522,7 @@ static int __init alchemy_pci_init(void) arch_initcall(alchemy_pci_init);
-int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) +int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { struct alchemy_pci_context *ctx = dev->sysdata; if (ctx && ctx->board_map_irq) diff --git a/arch/mips/pci/pci-bcm47xx.c b/arch/mips/pci/pci-bcm47xx.c index 76f16ea..230d7dd 100644 --- a/arch/mips/pci/pci-bcm47xx.c +++ b/arch/mips/pci/pci-bcm47xx.c @@ -28,7 +28,7 @@ #include <linux/bcma/bcma.h> #include <bcm47xx.h>
-int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) +int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { return 0; } diff --git a/arch/mips/pci/pci-lasat.c b/arch/mips/pci/pci-lasat.c index 40d2797..47f4ee6 100644 --- a/arch/mips/pci/pci-lasat.c +++ b/arch/mips/pci/pci-lasat.c @@ -61,7 +61,7 @@ arch_initcall(lasat_pci_setup); #define LASAT_IRQ_PCIC (LASAT_IRQ_BASE + 7) #define LASAT_IRQ_PCID (LASAT_IRQ_BASE + 8)
-int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) +int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { switch (slot) { case 1: diff --git a/arch/mips/pci/pci-mt7620.c b/arch/mips/pci/pci-mt7620.c index 4e633c1..90fba9b 100644 --- a/arch/mips/pci/pci-mt7620.c +++ b/arch/mips/pci/pci-mt7620.c @@ -361,7 +361,7 @@ static int mt7620_pci_probe(struct platform_device *pdev) return 0; }
-int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) +int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { u16 cmd; u32 val; diff --git a/arch/mips/pci/pci-octeon.c b/arch/mips/pci/pci-octeon.c index 9ee0193..3e92a06 100644 --- a/arch/mips/pci/pci-octeon.c +++ b/arch/mips/pci/pci-octeon.c @@ -59,8 +59,7 @@ union octeon_pci_address { } s; };
-int __initconst (*octeon_pcibios_map_irq)(const struct pci_dev *dev, - u8 slot, u8 pin); +int (*octeon_pcibios_map_irq)(const struct pci_dev *dev, u8 slot, u8 pin); enum octeon_dma_bar_type octeon_dma_bar_type = OCTEON_DMA_BAR_TYPE_INVALID;
/** @@ -74,7 +73,7 @@ enum octeon_dma_bar_type octeon_dma_bar_type = OCTEON_DMA_BAR_TYPE_INVALID; * as it goes through each bridge. * Returns Interrupt number for the device */ -int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) +int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { if (octeon_pcibios_map_irq) return octeon_pcibios_map_irq(dev, slot, pin); diff --git a/arch/mips/pci/pci-rt2880.c b/arch/mips/pci/pci-rt2880.c index d6360fe..711cdcc 100644 --- a/arch/mips/pci/pci-rt2880.c +++ b/arch/mips/pci/pci-rt2880.c @@ -181,7 +181,7 @@ static inline void rt2880_pci_write_u32(unsigned long reg, u32 val) spin_unlock_irqrestore(&rt2880_pci_lock, flags); }
-int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) +int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { u16 cmd; int irq = -1; diff --git a/arch/mips/pci/pci-rt3883.c b/arch/mips/pci/pci-rt3883.c index 04f8ea9..958899f 100644 --- a/arch/mips/pci/pci-rt3883.c +++ b/arch/mips/pci/pci-rt3883.c @@ -564,7 +564,7 @@ static int rt3883_pci_probe(struct platform_device *pdev) return err; }
-int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) +int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { return of_irq_parse_and_map_pci(dev, slot, pin); } diff --git a/arch/mips/pci/pci-tx4939.c b/arch/mips/pci/pci-tx4939.c index 9d6acc0..09a65f7 100644 --- a/arch/mips/pci/pci-tx4939.c +++ b/arch/mips/pci/pci-tx4939.c @@ -48,7 +48,7 @@ void __init tx4939_report_pci1clk(void) ((pciclk + 50000) / 100000) % 10); }
-int __init tx4939_pcic1_map_irq(const struct pci_dev *dev, u8 slot) +int tx4939_pcic1_map_irq(const struct pci_dev *dev, u8 slot) { if (get_tx4927_pcicptr(dev->bus->sysdata) == tx4939_pcic1ptr) { switch (slot) { @@ -68,7 +68,7 @@ int __init tx4939_pcic1_map_irq(const struct pci_dev *dev, u8 slot) return -1; }
-int __init tx4939_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) +int tx4939_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { int irq = tx4939_pcic1_map_irq(dev, slot);
diff --git a/arch/mips/pci/pci-xlp.c b/arch/mips/pci/pci-xlp.c index 7babf01..9eff913 100644 --- a/arch/mips/pci/pci-xlp.c +++ b/arch/mips/pci/pci-xlp.c @@ -205,7 +205,7 @@ int xlp_socdev_to_node(const struct pci_dev *lnkdev) return PCI_SLOT(lnkdev->devfn) / 8; }
-int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) +int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { struct pci_dev *lnkdev; int lnkfunc, node; diff --git a/arch/mips/pci/pci-xlr.c b/arch/mips/pci/pci-xlr.c index 26d2dab..2a1c81a 100644 --- a/arch/mips/pci/pci-xlr.c +++ b/arch/mips/pci/pci-xlr.c @@ -315,7 +315,7 @@ static void xls_pcie_ack_b(struct irq_data *d) } }
-int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) +int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { return get_irq_vector(dev); } diff --git a/arch/mips/txx9/generic/setup.c b/arch/mips/txx9/generic/setup.c index 1791a44..b229499 100644 --- a/arch/mips/txx9/generic/setup.c +++ b/arch/mips/txx9/generic/setup.c @@ -88,7 +88,7 @@ int txx9_ccfg_toeon __initdata = 1; #include <asm/txx9/boards.h> #undef BOARD_VEC
-struct txx9_board_vec *txx9_board_vec __initdata; +struct txx9_board_vec *txx9_board_vec; static char txx9_system_type[32];
static struct txx9_board_vec *board_vecs[] __initdata = { diff --git a/arch/mips/txx9/jmr3927/setup.c b/arch/mips/txx9/jmr3927/setup.c index 6139438..d509709 100644 --- a/arch/mips/txx9/jmr3927/setup.c +++ b/arch/mips/txx9/jmr3927/setup.c @@ -209,7 +209,7 @@ static void __init jmr3927_arch_init(void) gpio_request(10, "dipsw2"); }
-struct txx9_board_vec jmr3927_vec __initdata = { +struct txx9_board_vec jmr3927_vec = { .system = "Toshiba JMR_TX3927", .prom_init = jmr3927_prom_init, .mem_setup = jmr3927_mem_setup, diff --git a/arch/mips/txx9/rbtx4927/setup.c b/arch/mips/txx9/rbtx4927/setup.c index f5b367e..29b7179 100644 --- a/arch/mips/txx9/rbtx4927/setup.c +++ b/arch/mips/txx9/rbtx4927/setup.c @@ -354,7 +354,7 @@ static void __init rbtx4927_device_init(void) rbtx4927_gpioled_init(); }
-struct txx9_board_vec rbtx4927_vec __initdata = { +struct txx9_board_vec rbtx4927_vec = { .system = "Toshiba RBTX4927", .prom_init = rbtx4927_prom_init, .mem_setup = rbtx4927_mem_setup, @@ -366,7 +366,7 @@ struct txx9_board_vec rbtx4927_vec __initdata = { .pci_map_irq = rbtx4927_pci_map_irq, #endif }; -struct txx9_board_vec rbtx4937_vec __initdata = { +struct txx9_board_vec rbtx4937_vec = { .system = "Toshiba RBTX4937", .prom_init = rbtx4927_prom_init, .mem_setup = rbtx4927_mem_setup, diff --git a/arch/mips/txx9/rbtx4938/setup.c b/arch/mips/txx9/rbtx4938/setup.c index e68eb2e..6b2e5f2 100644 --- a/arch/mips/txx9/rbtx4938/setup.c +++ b/arch/mips/txx9/rbtx4938/setup.c @@ -358,7 +358,7 @@ static void __init rbtx4938_device_init(void) txx9_iocled_init(RBTX4938_LED_ADDR - IO_BASE, -1, 8, 1, "green", NULL); }
-struct txx9_board_vec rbtx4938_vec __initdata = { +struct txx9_board_vec rbtx4938_vec = { .system = "Toshiba RBTX4938", .prom_init = rbtx4938_prom_init, .mem_setup = rbtx4938_mem_setup, diff --git a/arch/mips/txx9/rbtx4939/setup.c b/arch/mips/txx9/rbtx4939/setup.c index 8b93730..8bd970d 100644 --- a/arch/mips/txx9/rbtx4939/setup.c +++ b/arch/mips/txx9/rbtx4939/setup.c @@ -540,7 +540,7 @@ static void __init rbtx4939_setup(void) tx4939_sio_init(TX4939_SCLK0(txx9_master_clock), 0); }
-struct txx9_board_vec rbtx4939_vec __initdata = { +struct txx9_board_vec rbtx4939_vec = { .system = "Toshiba RBTX4939", .prom_init = rbtx4939_prom_init, .mem_setup = rbtx4939_setup,
On Mon, Sep 18, 2017 at 7:24 PM, Lorenzo Pieralisi lorenzo.pieralisi@arm.com wrote:
On Mon, Sep 18, 2017 at 05:56:02PM +0200, Arnd Bergmann wrote:
[...]
Section mismatches summary: 27 WARNING: modpost: Found 1 section mismatch(es). 6 WARNING: modpost: Found 2 section mismatch(es).
These are all MIPS warnings caused by Lorenzo's
04c81c7293df ("MIPS: PCI: Replace pci_fixup_irqs() call with host bridge IRQ mapping hooks")
The problem is that now we can reference pci_fixup_irqs from a function that is not marked __init, and probably should not be, since pcibios_scanbus() itself can be called at any time. Even before Lorenzo's change, having pcibios_map_irq as an __init function was problematic AFAICT on any platform that has hotplug-capable PCIe slots, or that can have a PCI host bridge driver in a loadable module.
The safe fix would be to remove all the __init annotations as well as the __initdata and __initconst annotations on data referenced by the map_irq functions.
Right. Patch below, I will send it out tomorrow (I certainly missed some annotations) please let me know if that's reasonable.
I tried the same thing, but ran into a problem at this point:
diff --git a/arch/mips/txx9/rbtx4927/setup.c b/arch/mips/txx9/rbtx4927/setup.c index f5b367e..29b7179 100644 --- a/arch/mips/txx9/rbtx4927/setup.c +++ b/arch/mips/txx9/rbtx4927/setup.c @@ -354,7 +354,7 @@ static void __init rbtx4927_device_init(void) rbtx4927_gpioled_init(); }
-struct txx9_board_vec rbtx4927_vec __initdata = { +struct txx9_board_vec rbtx4927_vec = { .system = "Toshiba RBTX4927", .prom_init = rbtx4927_prom_init, .mem_setup = rbtx4927_mem_setup,
Now we have the next problem with the pointers inside of rbtx4927_vec that kbuild complains about pointing to __init functions. I think the txx9_board_vec structures all have to remain __initdata or __initconst, with some other way to get the pointer at runtime.
something like this maybe:
diff --git a/arch/mips/txx9/generic/pci.c b/arch/mips/txx9/generic/pci.c index 0bd2a1e1ff9a..f0b291c889c4 100644 --- a/arch/mips/txx9/generic/pci.c +++ b/arch/mips/txx9/generic/pci.c @@ -386,9 +386,11 @@ int pcibios_plat_dev_init(struct pci_dev *dev) return 0; }
-int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) +static int (*txx9_pci_map_irq)(const struct pci_dev *dev, u8 slot, u8 pin); + +int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { - return txx9_board_vec->pci_map_irq(dev, slot, pin); + return txx9_pci_map_irq(dev, slot, pin); }
char * (*txx9_board_pcibios_setup)(char *str) __initdata; @@ -424,5 +426,7 @@ char *__init txx9_pcibios_setup(char *str) txx9_pci_err_action = TXX9_PCI_ERR_IGNORE; return NULL; } + txx9_pci_map_irq = txx9_board_vec->pci_map_irq; + return str; }
Arnd
kernel-build-reports@lists.linaro.org