On Sat, 2025-06-28 at 17:08 -0400, Robert P. J. Day wrote: > > Quite some time ago, I was immersed in a bunch of Linux kernel > janitorial work, and I wrote a bunch of scripts that scanned the > kernel source tree and identified obvious candidates for > simplification and cleanup. I'm going to publish all of that to my > website in the very near future, but just to clarify what I mean, let > me provide a single example to see if this is still relevant, or > whether I'm off-base. > > One of the scripts I wrote scanned the kernel tree for what I call > "badref selects", those being entries in Kconfig files that > "select"ed > config entries that did not exist (probably the result of someone > deleting config entries, but not checking to see if anything selected > that entry). Such occurrences are not fatal, but they are obvious > candidates for cleanup. > > I just ran that script on the current source tree just for the > drivers/ directory, and here's the output I got: > > > $ find_badref_selects.sh drivers > ===== DRM_DEBUG_SELFTEST > drivers/gpu/drm/i915/Kconfig.debug:53: select DRM_DEBUG_SELFTEST > ===== DRM_KMS_DMA_HELPER > drivers/gpu/drm/adp/Kconfig:9: select DRM_KMS_DMA_HELPER > drivers/gpu/drm/logicvc/Kconfig:7: select DRM_KMS_DMA_HELPER > ===== TEST_KUNIT_DEVICE_HELPERS > drivers/iio/test/Kconfig:11: select TEST_KUNIT_DEVICE_HELPERS > > > This output suggests that those "selects" refer to config entries > that > do not exist, and so could likely be removed as janitorial work. > > Does the above make sense? If I recursively grep for the strings, > say, "TEST_KUNIT_DEVICE_HELPERS", I see only that select statement, > and nothing else. I'm assuming that means it's superfluous. If this > makes sense, I can publish my scanning scripts and others are welcome > to use them to find stuff that can be cleaned up. > > Thoughts? Hello, Thank you for highlighting this, I believe this is a good target for cleanup, and I would be interested in any other scripts you have that provide similar information. I am fairly new to linux kernel development in general, not having a large amount of patches to my name, however, opportunities for cleanup and janitorial work, while often neglected by other programmers for larger features, still are important in my opinion, as it creates a more maintainable and cleaner codebase, as such I would be very much interested in any cleanup opportunities. Thank you very much Ruben Wauters > rday