lkml.org 
[lkml]   [2021]   [Oct]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH 00/13] Kconfig symbol clean-up on ./arch/arm{64}
Date
Dear arm maintainers,

The script ./scripts/checkkconfigsymbols.py warns on invalid references to
Kconfig symbols (often: minor typos, name confusions or outdated references).

This is a patch series addressing the issues reported by
./scripts/checkkconfigsymbols.py in the ./arch/arm{64}/ directories, quickly
filtered down with:

./scripts/checkkconfigsymbols.py | grep "arch/arm" -B 1 -A 2

without considering kernel configs, i.e., after removing arch/arm{64}/configs
in the working tree. It addresses some issues I considered to be "true positives";
so, issues that should be addressed and cleaned up.

The patches on updating the comments might arguably be considered of lower value
by itself, but as the other patches show, checkkconfigsymbols does detect some
relevant issues in the kernel tree otherwise being unnoticed.
So, it might be worth to clean up the kernel tree to have checkkconfigsymbols
produce a rather short list of issues and then continuously follow and check
what checkkconfigsymbols reports.

Some work from checkkconfigsymbols on arch/arm/ is deferred; the other remaining
issues that checkkconfigsymbols reports are (as far as I understand it now)
"false positives", i.e., the tool misinterprets the actual content) or
"intentional", e.g., they refer to historic configs for the purpose of
documentation (e.g., in changelogs) or are in various kernel configs that are
not continuously updated to match the current set of kernel configs. You can
see below a grouped list of remaining reports.

Each patch in this series can be discussed and applied individually if needed.
They are sent in one patch series, as they all orginate from the investigation
guided by the same tool and hence share similar topics and resolutions.

Please pick this series of minor clean-up patches on ./arch/arm{64}/.
It applies cleanly on next-20211027.

Best regards,

Lukas


Remaining reports from ./scripts/checkkconfigsymbols.py pointing to files in
./arch/arm{64}/ (excluding configs), grouped by the rationale why it is not
addressed in this patch series:


- Reference in historic comment:

ARM_NR_BANKS
Referencing files: arch/arm/mach-exynos/exynos.c

CPU
Referencing files: arch/arm/lib/backtrace.S, arch/arm/lib/csumpartialcopyuser.S,
arch/arm/mach-rpc/ecard-loader.S, arch/arm/mach-rpc/io-acorn.S, arch/arm/nwfpe/fpmodule.h

CPU_ARM92{0,2,5,6}_CPU_IDLE
Referencing files: arch/arm/mm/proc-arm92{0,2,5,6}.S

KVM_INDIRECT_VECTORS
Referencing files: arch/arm64/kvm/hyp/nvhe/host.S


- Use of CONFIG_* environment variable beyond the definition in Kconfig scripts

AS_DMB_ISHLD
Referencing files: arch/arm64/include/asm/vdso/compat_barrier.h, arch/arm64/kernel/vdso32/Makefile

CC_HAS_K_CONSTRAINT
Referencing files: arch/arm64/Makefile, arch/arm64/include/asm/atomic_ll_sc.h

SHELL
Ignore CONFIG_SHELL. Default variable in Kbuild build system.


- Parsing Mistake (Incomplete parsing heuristics) by checkkconfigsymbols.py:

ASC1, ASC2, SBC, UART
Referencing files: arch/arm/Kconfig.debug


- Future work to send clean-up patches:

IRDA{_MODULE}
Referencing files: arch/arm/mach-pxa/balloon3.c, arch/arm/mach-pxa/palm27x.c,
arch/arm/mach-pxa/palm27x.h, arch/arm/mach-pxa/palmtc.c, include/linux/atalk.h,
include/linux/netdevice.h

PXA_FICP{_MODULE}
Referencing files: arch/arm/mach-pxa/spitz.c

DEBUG_LL_SER3
Referencing files: arch/arm/boot/compressed/head.S

already discussed in 2014: https://lore.kernel.org/all/1400055127.31197.1.camel@x220/


Lukas Bulwahn (13):
arm: debug: remove obsolete debug code for DEBUG_ZTE_ZX
arm: debug: reuse the config DEBUG_OMAP2UART{1,2} for OMAP{3,4,5}
arm: Kconfig.debug: drop reference to removed ARCH_MSM
arm: drop an obsolete ifdef with the removed config PCI_HOST_ITE8152
arm: davinci: remove reference to obsolete BLK_DEV_PALMCHIP_BK3710
arm: ixp4xx: remove dead configs CPU_IXP43X and CPU_IXP46X
arm: imx: remove dead left-over from i.MX{27,31,35} removal
arm: imx: rename DEBUG_IMX21_IMX27_UART to DEBUG_IMX27_UART
arm: milbeaut: remove select of non-existing PINCTRL_MILBEAUT
arm: nomadik: drop selecting obsolete CLKSRC_NOMADIK_MTU_SCHED_CLOCK
arm: npcm: drop selecting non-existing ARM_ERRATA_794072
arm: socfpga: always select PL310_ERRATA_753970
arm: pgtable: refer to intended CONFIG_ARM_LPAE in comment

arch/arm/Kconfig.debug | 28 ++++++++++-------------
arch/arm/include/debug/imx-uart.h | 18 +++++++--------
arch/arm/include/debug/pl01x.S | 7 ------
arch/arm/kernel/bios32.c | 2 --
arch/arm/mach-davinci/board-dm644x-evm.c | 3 +--
arch/arm/mach-davinci/board-dm646x-evm.c | 3 +--
arch/arm/mach-davinci/board-neuros-osd2.c | 3 +--
arch/arm/mach-imx/Kconfig | 12 ----------
arch/arm/mach-imx/Makefile | 2 --
arch/arm/mach-ixp4xx/Kconfig | 13 -----------
arch/arm/mach-milbeaut/Kconfig | 1 -
arch/arm/mach-nomadik/Kconfig | 1 -
arch/arm/mach-npcm/Kconfig | 1 -
arch/arm/mach-socfpga/Kconfig | 2 +-
arch/arm/mm/pgd.c | 2 +-
15 files changed, 26 insertions(+), 72 deletions(-)

--
2.26.2

\
 
 \ /
  Last update: 2021-10-28 16:20    [W:0.198 / U:0.048 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site