On Thu, Jan 12, 2023, at 10:26, Lukas Bulwahn wrote: > On Thu, Jan 12, 2023 at 10:06 AM Arnd Bergmann <arnd@xxxxxxxx> wrote: >> >> On Thu, Jan 12, 2023, at 09:37, Lukas Bulwahn wrote: >> > Commit 150ccb6f9a89 ("ARM: pxa: remove pxa93x support") removes configs >> > CPU_PXA930 and CPU_PXA935 and uses of cpu_is_pxa93x() and cpu_is_pxa935(). >> > >> > Remove some further dead code in ./include/linux/soc/pxa/cpu.h on top of >> > that commit above. >> > >> > Signed-off-by: Lukas Bulwahn <lukas.bulwahn@xxxxxxxxx> >> >> I had this in an earlier version and ended up leaving this bit in >> when I reworked the series to not drop support for PXA310 and PXA320. >> >> You are probably right that we should not reference the removed >> Kconfig symbols, but I see that this causes a regression >> unless I also bring back the change to >> >> drivers/mmc/host/pxamci.c: || cpu_is_pxa935()) >> > > Thanks for the insights of your previous attempt. In my janitorial > work, I am just triggered by references to removed configs and hardly > have the resources to test all the various arm pxa configs. Let us > keep it as is for now, and see once your clean-up has settled in > mainline, if we find a good suitable further cleanup patch on these > code parts here then. Sounds good, thanks. It's very helpful to have you checks trigger on my modified patches as that shows what I have missed in the updates, as well as showing that the initial step I had done did not contain such mistakes. The procedure I used to create my series was to remove all the boards marked as 'depends on UNUSED_BOARD_FILES' and then recursively remove orphaned header Kconfig symbols, header files. There is another related set of patches that started looking into, which is for device drivers that - register a platform_driver, i2c_driver or spi_driver - have no support of probing from DT or ACPI - have no remaining device registration in tree See below for the list that I came up with. I only annotated the drivers at this point, as these are slightly more controversial than the files that are clearly dead code based on existing Kconfig dependencies etc. If you're interested in helping out with these, feel free to take anything from this list and send patches directly to the subsystem maintainers. Arnd --- commit 853e389693ce4da709641cbeb46a8f405d92287a Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Oct 14 16:20:09 2022 +0200 depends-on-unused Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 3604074a878b..1c7e8ea4812c 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -735,6 +735,7 @@ config X86_SUPPORTS_MEMORY_FAILURE config STA2X11 bool "STA2X11 Companion Chip Support" depends on X86_32_NON_STANDARD && PCI + depends on UNUSED select SWIOTLB select MFD_STA2X11 select GPIOLIB diff --git a/drivers/iio/light/Kconfig b/drivers/iio/light/Kconfig index 0d4447df7200..3cad5c320add 100644 --- a/drivers/iio/light/Kconfig +++ b/drivers/iio/light/Kconfig @@ -305,6 +305,7 @@ config RPR0521 config SENSORS_LM3533 tristate "LM3533 ambient light sensor" depends on MFD_LM3533 + depends on UNUSED help If you say yes here you get support for the ambient light sensor interface on National Semiconductor / TI LM3533 Lighting Power diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig index d98650426dc2..8d11945f5bd6 100644 --- a/drivers/input/keyboard/Kconfig +++ b/drivers/input/keyboard/Kconfig @@ -30,6 +30,7 @@ config KEYBOARD_ADC config KEYBOARD_ADP5520 tristate "Keypad Support for ADP5520 PMIC" depends on PMIC_ADP5520 + depends on UNUSED help This option enables support for the keypad scan matrix on Analog Devices ADP5520 PMICs. @@ -53,6 +54,7 @@ config KEYBOARD_ADP5588 config KEYBOARD_ADP5589 tristate "ADP5585/ADP5589 I2C QWERTY Keypad and IO Expander" depends on I2C + depends on UNUSED help Say Y here if you want to use a ADP5585/ADP5589 attached to your system I2C bus. diff --git a/drivers/input/misc/Kconfig b/drivers/input/misc/Kconfig index 5c2d0c06d2a5..578cb73ed59e 100644 --- a/drivers/input/misc/Kconfig +++ b/drivers/input/misc/Kconfig @@ -45,6 +45,7 @@ config INPUT_AB8500_PONKEY config INPUT_AD714X tristate "Analog Devices AD714x Capacitance Touch Sensor" + depends on UNUSED help Say Y here if you want to support an AD7142/3/7/8/7A touch sensor. diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig index 1a2049b336a6..61bb8e632413 100644 --- a/drivers/input/touchscreen/Kconfig +++ b/drivers/input/touchscreen/Kconfig @@ -46,6 +46,7 @@ config TOUCHSCREEN_ADS7846 config TOUCHSCREEN_AD7877 tristate "AD7877 based touchscreens" depends on SPI_MASTER + depends on UNUSED help Say Y here if you have a touchscreen interface using the AD7877 controller, and your board-specific initialization diff --git a/drivers/media/pci/sta2x11/Kconfig b/drivers/media/pci/sta2x11/Kconfig index 118b922c08c3..3153544c0600 100644 --- a/drivers/media/pci/sta2x11/Kconfig +++ b/drivers/media/pci/sta2x11/Kconfig @@ -3,6 +3,7 @@ config STA2X11_VIP tristate "STA2X11 VIP Video For Linux" depends on PCI && VIDEO_DEV && I2C depends on STA2X11 || COMPILE_TEST + depends on UNUSED select GPIOLIB if MEDIA_SUBDRV_AUTOSELECT select VIDEO_ADV7180 if MEDIA_SUBDRV_AUTOSELECT select VIDEOBUF2_DMA_CONTIG diff --git a/drivers/media/platform/samsung/s3c-camif/Kconfig b/drivers/media/platform/samsung/s3c-camif/Kconfig index f359f6382fff..0132b0f13dec 100644 --- a/drivers/media/platform/samsung/s3c-camif/Kconfig +++ b/drivers/media/platform/samsung/s3c-camif/Kconfig @@ -4,6 +4,7 @@ config VIDEO_S3C_CAMIF depends on V4L_PLATFORM_DRIVERS depends on VIDEO_DEV && I2C && PM depends on ARCH_S3C64XX || COMPILE_TEST + depends on UNUSED select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select VIDEOBUF2_DMA_CONTIG diff --git a/drivers/media/radio/Kconfig b/drivers/media/radio/Kconfig index 616a38feb641..46b9606837f4 100644 --- a/drivers/media/radio/Kconfig +++ b/drivers/media/radio/Kconfig @@ -144,6 +144,7 @@ config RADIO_TIMBERDALE config RADIO_WL1273 tristate "Texas Instruments WL1273 I2C FM Radio" depends on I2C + depends on UNUSED select MFD_CORE select MFD_WL1273_CORE select FW_LOADER diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig index 5c24841e5699..df7132c56e1e 100644 --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig @@ -104,6 +104,7 @@ config MFD_AS3722 config PMIC_ADP5520 bool "Analog Devices ADP5520/01 MFD PMIC Core Support" depends on I2C=y + depends on UNUSED help Say yes here to add support for Analog Devices ADP5520 and ADP5501, Multifunction Power Management IC. This includes @@ -116,6 +117,7 @@ config MFD_AAT2870_CORE select MFD_CORE depends on I2C=y depends on GPIOLIB || COMPILE_TEST + depends on UNUSED help If you say yes here you get support for the AAT2870. This driver provides common support for accessing the device, @@ -303,6 +305,7 @@ config MFD_CS47L92 config PMIC_DA903X bool "Dialog Semiconductor DA9030/DA9034 PMIC Support" depends on I2C=y + depends on UNUSED help Say yes here to add support for Dialog Semiconductor DA9030 (a.k.a ARAVA) and DA9034 (a.k.a MICCO), these are Power Management IC @@ -988,6 +991,7 @@ config MFD_OCELOT config EZX_PCAP bool "Motorola EZXPCAP Support" depends on SPI_MASTER + depends on UNUSED help This enables the PCAP ASIC present on EZX Phones. This is needed for MMC, TouchScreen, Sound, USB, etc.. @@ -1040,6 +1044,7 @@ config MFD_RETU config MFD_PCF50633 tristate "NXP PCF50633" + depends on UNUSED depends on I2C select REGMAP_I2C help @@ -1164,6 +1169,7 @@ config MFD_RT5120 config MFD_RC5T583 bool "Ricoh RC5T583 Power Management system device" depends on I2C=y + depends on UNUSED select MFD_CORE select REGMAP_I2C help @@ -1225,6 +1231,7 @@ config MFD_SEC_CORE config MFD_SI476X_CORE tristate "Silicon Laboratories 4761/64/68 AM/FM radio." depends on I2C + depends on UNUSED select MFD_CORE select REGMAP_I2C help @@ -1387,6 +1394,7 @@ endmenu config MFD_STA2X11 bool "STMicroelectronics STA2X11" depends on STA2X11 + depends on UNUSED select MFD_CORE select REGMAP_MMIO @@ -1431,6 +1439,7 @@ config MFD_LP3943 config MFD_LP8788 bool "TI LP8788 Power Management Unit Driver" depends on I2C=y + depends on UNUSED select MFD_CORE select REGMAP_I2C select IRQ_DOMAIN @@ -1723,6 +1732,7 @@ config MENELAUS config MFD_WL1273_CORE tristate "TI WL1273 FM radio" depends on I2C + depends on UNUSED select MFD_CORE default n help @@ -1732,6 +1742,7 @@ config MFD_WL1273_CORE config MFD_LM3533 tristate "TI/National Semiconductor LM3533 Lighting Power chip" + depends on UNUSED depends on I2C select MFD_CORE select REGMAP_I2C @@ -1850,6 +1861,7 @@ config MFD_WM8400 bool "Wolfson Microelectronics WM8400" select MFD_CORE depends on I2C=y + depends on UNUSED select REGMAP_I2C help Support for the Wolfson Microelecronics WM8400 PMIC and audio diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig index 9947b7892bd5..b99a94080b2a 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig @@ -352,6 +352,7 @@ config SENSORS_TSL2550 config SENSORS_BH1770 tristate "BH1770GLC / SFH7770 combined ALS - Proximity sensor" depends on I2C + depends on UNUSED help Say Y here if you want to build a driver for BH1770GLC (ROHM) or SFH7770 (Osram) combined ambient light and proximity sensor chip. @@ -362,6 +363,7 @@ config SENSORS_BH1770 config SENSORS_APDS990X tristate "APDS990X combined als and proximity sensors" depends on I2C + depends on UNUSED help Say Y here if you want to build a driver for Avago APDS990x combined ambient light and proximity sensor chip. diff --git a/drivers/misc/ti-st/Kconfig b/drivers/misc/ti-st/Kconfig index 1503a6496f63..6be14cbfa023 100644 --- a/drivers/misc/ti-st/Kconfig +++ b/drivers/misc/ti-st/Kconfig @@ -8,6 +8,7 @@ config TI_ST tristate "Shared transport core driver" depends on NET && TTY depends on GPIOLIB || COMPILE_TEST + depends on UNUSED select FW_LOADER help This enables the shared transport core driver for TI diff --git a/drivers/net/ethernet/Kconfig b/drivers/net/ethernet/Kconfig index 323ec56e8a74..cf1b9abc1f87 100644 --- a/drivers/net/ethernet/Kconfig +++ b/drivers/net/ethernet/Kconfig @@ -111,6 +111,7 @@ config KORINA config LANTIQ_ETOP tristate "Lantiq SoC ETOP driver" depends on SOC_TYPE_XWAY + depends on UNUSED help Support for the MII0 inside the Lantiq SoC diff --git a/drivers/net/ethernet/wiznet/Kconfig b/drivers/net/ethernet/wiznet/Kconfig index 4bac2ad2d6a1..1f7a7edfa0b9 100644 --- a/drivers/net/ethernet/wiznet/Kconfig +++ b/drivers/net/ethernet/wiznet/Kconfig @@ -33,6 +33,7 @@ config WIZNET_W5100 config WIZNET_W5300 tristate "WIZnet W5300 Ethernet support" depends on HAS_IOMEM + depends on UNUSED help Support for WIZnet W5300 chips. diff --git a/drivers/net/wireless/marvell/libertas/Kconfig b/drivers/net/wireless/marvell/libertas/Kconfig index 6d62ab49aa8d..287c2c84b412 100644 --- a/drivers/net/wireless/marvell/libertas/Kconfig +++ b/drivers/net/wireless/marvell/libertas/Kconfig @@ -30,6 +30,7 @@ config LIBERTAS_SDIO config LIBERTAS_SPI tristate "Marvell Libertas 8686 SPI 802.11b/g cards" depends on LIBERTAS && SPI + depends on UNUSED help A driver for Marvell Libertas 8686 SPI devices. diff --git a/drivers/power/supply/Kconfig b/drivers/power/supply/Kconfig index e2f8dfcdd2a9..44f5f8a69672 100644 --- a/drivers/power/supply/Kconfig +++ b/drivers/power/supply/Kconfig @@ -281,6 +281,7 @@ config BATTERY_BQ27XXX_DT_UPDATES_NVM config BATTERY_DA9030 tristate "DA9030 battery driver" + depends on UNUSED depends on PMIC_DA903X help Say Y here to enable support for batteries charger integrated into diff --git a/drivers/regulator/Kconfig b/drivers/regulator/Kconfig index 820c9a0788e5..39d176052bef 100644 --- a/drivers/regulator/Kconfig +++ b/drivers/regulator/Kconfig @@ -463,6 +463,7 @@ config REGULATOR_LOCHNAGAR config REGULATOR_LP3971 tristate "National Semiconductors LP3971 PMIC regulator driver" + depends on UNUSED depends on I2C help Say Y here to support the voltage regulators and convertors @@ -470,6 +471,7 @@ config REGULATOR_LP3971 config REGULATOR_LP3972 tristate "National Semiconductors LP3972 PMIC regulator driver" + depends on UNUSED depends on I2C help Say Y here to support the voltage regulators and convertors diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig index 2aba88a57a77..f8379e709c64 100644 --- a/drivers/spi/Kconfig +++ b/drivers/spi/Kconfig @@ -1157,6 +1157,7 @@ config SPI_LOOPBACK_TEST config SPI_TLE62X0 tristate "Infineon TLE62X0 (for power switching)" depends on SYSFS + depends on UNUSED help SPI driver for Infineon TLE62X0 series line driver chips, such as the TLE6220, TLE6230 and TLE6240. This provides a diff --git a/drivers/staging/media/omap4iss/Kconfig b/drivers/staging/media/omap4iss/Kconfig index 6d1f55b09132..698dfcb286b6 100644 --- a/drivers/staging/media/omap4iss/Kconfig +++ b/drivers/staging/media/omap4iss/Kconfig @@ -4,6 +4,7 @@ config VIDEO_OMAP4 tristate "OMAP 4 Camera support" depends on VIDEO_DEV && I2C depends on ARCH_OMAP4 || COMPILE_TEST + depends on UNUSED select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API select MFD_SYSCON diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig index ed0672d2d0ef..c50a7bbd9c54 100644 --- a/drivers/tty/serial/Kconfig +++ b/drivers/tty/serial/Kconfig @@ -316,6 +316,7 @@ config SERIAL_TEGRA_TCU_CONSOLE config SERIAL_MAX3100 tristate "MAX3100 support" depends on SPI + depends on UNUSED select SERIAL_CORE help MAX3100 chip support diff --git a/drivers/usb/gadget/udc/Kconfig b/drivers/usb/gadget/udc/Kconfig index 511ab57cdc81..3384025f482e 100644 --- a/drivers/usb/gadget/udc/Kconfig +++ b/drivers/usb/gadget/udc/Kconfig @@ -209,6 +209,7 @@ config USB_PXA27X config USB_MV_UDC tristate "Marvell USB2.0 Device Controller" depends on HAS_DMA + depends on UNUSED help Marvell Socs (including PXA and MMP series) include a high speed USB2.0 OTG controller, which can be configured as high speed or @@ -217,6 +218,7 @@ config USB_MV_UDC config USB_MV_U3D depends on HAS_DMA tristate "MARVELL PXA2128 USB 3.0 controller" + depends on UNUSED help MARVELL PXA2128 Processor series include a super speed USB3.0 device controller, which support super speed USB peripheral. diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig index a97923897c8e..c7fadc9b5c23 100644 --- a/drivers/usb/host/Kconfig +++ b/drivers/usb/host/Kconfig @@ -368,7 +368,7 @@ config USB_ISP116X_HCD config USB_ISP1362_HCD tristate "ISP1362 HCD support" depends on HAS_IOMEM - depends on COMPILE_TEST # nothing uses this + depends on UNUSED # nothing uses this help Supports the Philips ISP1362 chip as a host controller @@ -654,6 +654,7 @@ config USB_U132_HCD config USB_SL811_HCD tristate "SL811HS HCD support" depends on HAS_IOMEM + depends on UNUSED help The SL811HS is a single-port USB controller that supports either host side or peripheral side roles. Enable this option if your diff --git a/drivers/usb/phy/Kconfig b/drivers/usb/phy/Kconfig index 5f629d7cad64..efa798b2d56e 100644 --- a/drivers/usb/phy/Kconfig +++ b/drivers/usb/phy/Kconfig @@ -130,6 +130,7 @@ config USB_MV_OTG tristate "Marvell USB OTG support" depends on USB_EHCI_MV && USB_MV_UDC && PM && USB_OTG depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, this can't be 'y' + depends on UNUSED select USB_PHY help Say Y here if you want to build Marvell USB OTG transceiver diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig index 2f5219cc36b4..4c5f4b188293 100644 --- a/drivers/video/fbdev/Kconfig +++ b/drivers/video/fbdev/Kconfig @@ -1770,6 +1770,7 @@ config FB_PXA168 tristate "PXA168/910 LCD framebuffer support" depends on FB && HAVE_CLK && HAS_IOMEM depends on CPU_PXA168 || CPU_PXA910 || COMPILE_TEST + depends on UNUSED select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT @@ -2003,6 +2004,7 @@ config FB_DA8XX tristate "DA8xx/OMAP-L1xx/AM335x Framebuffer support" depends on FB && HAVE_CLK && HAS_IOMEM depends on ARCH_DAVINCI_DA8XX || SOC_AM33XX || COMPILE_TEST + depends on UNUSED select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT @@ -2128,6 +2130,7 @@ config FB_PRE_INIT_FB config FB_MX3 tristate "MX3 Framebuffer support" depends on FB && MX3_IPU + depends on UNUSED select BACKLIGHT_CLASS_DEVICE select FB_CFB_FILLRECT select FB_CFB_COPYAREA diff --git a/drivers/video/fbdev/mmp/fb/Kconfig b/drivers/video/fbdev/mmp/fb/Kconfig index 0ec2e3fb9e17..18eaf625b67b 100644 --- a/drivers/video/fbdev/mmp/fb/Kconfig +++ b/drivers/video/fbdev/mmp/fb/Kconfig @@ -2,6 +2,7 @@ config MMP_FB tristate "fb driver for Marvell MMP Display Subsystem" depends on FB + depends on UNUSED select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT diff --git a/sound/spi/Kconfig b/sound/spi/Kconfig index f407c37c37fa..e93a1abfd7bd 100644 --- a/sound/spi/Kconfig +++ b/sound/spi/Kconfig @@ -13,6 +13,7 @@ if SND_SPI config SND_AT73C213 tristate "Atmel AT73C213 DAC driver" depends on ATMEL_SSC + depends on UNUSED select SND_PCM help Say Y here if you want to use the Atmel AT73C213 external DAC. This