* [U-Boot] policy regarding unused code @ 2018-12-11 15:25 Jean-Jacques Hiblot 2018-12-11 15:46 ` Jean-Jacques Hiblot 0 siblings, 1 reply; 11+ messages in thread From: Jean-Jacques Hiblot @ 2018-12-11 15:25 UTC (permalink / raw) To: u-boot Hi Tom, Is there such a policy described somewhere ? There are quite a pieces of code that are not used/compiled because no config enables it. A random pick among many others: - CONFIG_FPGA_LATTICE - CONFIG_MESON_SPIFC - CONFIG_POWER_BATTERY_TRATS2 - CONFIG_UPDATE_TFTP JJ ^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot] policy regarding unused code 2018-12-11 15:25 [U-Boot] policy regarding unused code Jean-Jacques Hiblot @ 2018-12-11 15:46 ` Jean-Jacques Hiblot 2018-12-11 16:35 ` Tom Rini ` (2 more replies) 0 siblings, 3 replies; 11+ messages in thread From: Jean-Jacques Hiblot @ 2018-12-11 15:46 UTC (permalink / raw) To: u-boot On 11/12/2018 16:25, Jean-Jacques Hiblot wrote: > Hi Tom, > > Is there such a policy described somewhere ? > > There are quite a pieces of code that are not used/compiled because no > config enables it. > > A random pick among many others: > > - CONFIG_FPGA_LATTICE > > - CONFIG_MESON_SPIFC > > - CONFIG_POWER_BATTERY_TRATS2 > > - CONFIG_UPDATE_TFTP > > Here a more complete list of suspects (there may be options that do not even exist) Suspect means that the variable is probably referenced in a Makefile but not in configs/ nor in include/configs This is not a small list and a lot of them we probably want to keep. ['CONFIG_MX8M', 'CONFIG_POWER_PMIC_MAX77693', 'CONFIG_TPM2_TIS_SANDBOX', 'CONFIG_TPM_ST33ZP24_SPI', 'CONFIG_USB_SL811HS', 'CONFIG_RAM_SUPPORT', 'CONFIG_BCM2835_WDT', 'CONFIG_ENV_IS_IN_SATA', 'CONFIG_IO64', 'CONFIG_NAND_SUPPORT', 'CONFIG_NOR_SUPPORT', 'CONFIG_RISCV_ISA_A', 'CONFIG_I2C_MUX_GPIO', 'CONFIG_POWER_FG_MAX17042', 'CONFIG_DNET', 'CONFIG_CMD_SH_ZIMAGEBOOT', 'CONFIG_USE_DEFAULT_ENV_FILE', 'CONFIG_CMD_IOTRACE', 'CONFIG_ALI152X', 'CONFIG_M5271', 'CONFIG_CPU_MPC83XX', 'CONFIG_NXP_TDA19988', 'CONFIG_IMX', 'CONFIG_ADI_GPIO2', 'CONFIG_BUILD_ENVCRC', 'CONFIG_FTMAC110', 'CONFIG_CMD_CONITRACE', 'CONFIG_USB_DAVINCI', 'CONFIG_TARGET_XTFPGA', 'CONFIG_DLVISION_10G', 'CONFIG_CMD_KGDB', 'CONFIG_USB_SDP_SUPPORT', 'CONFIG_MESON_GX_VPU_POWER_DOMAIN', 'CONFIG_FSL_DMA', 'CONFIG_IHS_VIDEO_OUT', 'CONFIG_CMD_ZFS', 'CONFIG_P2020DS', 'CONFIG_RTC_DS1388', 'CONFIG_POWER_MUIC_MAX8997', 'CONFIG_TPM2_TIS_SPI', 'CONFIG_TEST_FDTDEC', 'CONFIG_AIS_CONFIG_FILE', 'CONFIG_GDSYS_SOC', 'CONFIG_CMD_DTIMG', 'CONFIG_DFU_SUPPORT', 'CONFIG_SYS_JFFS2_SORT_FRAGMENTS', 'CONFIG_ATF', 'CONFIG_BLOBLIST', 'CONFIG_NAND_SPEAR', 'CONFIG_MPC8XXX_GPIO', 'CONFIG_ULP_WATCHDOG', 'CONFIG_RTC_MK48T59', 'CONFIG_CMD_FITUPD', 'CONFIG_MODVERSIONS', 'CONFIG_CPU_SH3', 'CONFIG_CMD_BEDBUG', 'CONFIG_AT91_USB_CLK', 'CONFIG_CMD_UNIVERSE', 'CONFIG_DEBUG_UART_UNIPHIER', 'CONFIG_CMD_DISPLAY', 'CONFIG_ETH_SANDBOX_RAW', 'CONFIG_SANDBOX', 'CONFIG_CPU_SH2', 'CONFIG_SATA_SUPPORT', 'CONFIG_IOCON', 'CONFIG_MESON_SPIFC', 'CONFIG_NS8382X', 'CONFIG_SOC_DM355', 'CONFIG_BOARD_GAZERBEAM', 'CONFIG_CMD_AVB', 'CONFIG_MW_EEPROM', 'CONFIG_SHA1_CHECK_UB_IMG', 'CONFIG_IHS_FPGA', 'CONFIG_USE_PLUGIN', 'CONFIG_VIDEO_SIMPLE', 'CONFIG_CLK_VEXPRESS_OSC', 'CONFIG_MIPS_TUNE_14KC', 'CONFIG_MPC83XX_SDRAM', 'CONFIG_XIP_SUPPORT', 'CONFIG_MIPS_TUNE_34KC', 'CONFIG_ALTERA_UART', 'CONFIG_LOAD_FIT', 'CONFIG_RTC_DS1339', 'CONFIG_ENV_SUPPORT', 'CONFIG_DEFAULT_ENV_FILE', 'CONFIG_TPM_ST33ZP24_I2C', 'CONFIG_PCH_SUPPORT', 'CONFIG_UBOOT_PAD_TO', 'CONFIG_LYNXKDI', 'CONFIG_CMD_SMC', 'CONFIG_BOOTCOUNT_AT91', 'CONFIG_OF_PLATDATA', 'CONFIG_CONSOLE_TRUETYPE_NIMBUS', 'CONFIG_S6E8AX0', 'CONFIG_FPGA_ACEX1K', 'CONFIG_MVEBU_EFUSE', 'CONFIG_CONSOLE_TRUETYPE_RUFSCRIPT', 'CONFIG_XILINX_MICROBLAZE0_HW_VER', 'CONFIG_CONSOLE_TRUETYPE_ANKACODER', 'CONFIG_RTC_M41T60', 'CONFIG_CMD_ZIP', 'CONFIG_USB_SUPPORT', 'CONFIG_SPI_FLASH_SUPPORT', 'CONFIG_FLASH_PIC32', 'CONFIG_SAVEENV', 'CONFIG_FPGA_STRATIX_II', 'CONFIG_TEE', 'CONFIG_PIC32_SPI', 'CONFIG_FAT_SUPPORT', 'CONFIG_SERIAL_SUPPORT', 'CONFIG_RTC_DS174x', 'CONFIG_RTC_RS5C372A', 'CONFIG_DM_DEBUG', 'CONFIG_DISPLAY_ROCKCHIP_LVDS', 'CONFIG_CMD_ZYNQ_RSA', 'CONFIG_VEXPRESS_CONFIG', 'CONFIG_SPI_SUPPORT', 'CONFIG_POWER_BATTERY_TRATS2', 'CONFIG_CS8900', 'CONFIG_DRIVERS_MISC_SUPPORT', 'CONFIG_YMODEM_SUPPORT', 'CONFIG_MPC83XX_SERDES', 'CONFIG_NAND_KB9202', 'CONFIG_PL022_SPI', 'CONFIG_RTC_PCF2127', 'CONFIG_ARMV8_PSCI', 'CONFIG_KALLSYMS', 'CONFIG_LAN91C96', 'CONFIG_SHELL', 'CONFIG_SOC_DM646X', 'CONFIG_HASH_SUPPORT', 'CONFIG_ARMADA_39X', 'CONFIG_CMD_STRINGS', 'CONFIG_ARCH_RV32I', 'CONFIG_RTC_M48T35A', 'CONFIG_DATAFLASH_MMC_SELECT', 'CONFIG_UPDATE_TFTP', 'CONFIG_CPU_SA1100', 'CONFIG_NAND_PLAT', 'CONFIG_GPIO_SUPPORT', 'CONFIG_RTC_DS1306', 'CONFIG_LOG_TEST', 'CONFIG_IHS_AXI', 'CONFIG_XWAY_SWAP_BYTES', 'CONFIG_CPU_SH4', 'CONFIG_RTC_MAX6900', 'CONFIG_TEGRA210_QSPI', 'CONFIG_SYS_I2C_VERSATILE', 'CONFIG_PCI_SUPPORT', 'CONFIG_SPI_LOAD', 'CONFIG_NAND_FSL_UPM', 'CONFIG_RTC_DS1556', 'CONFIG_DRIVER_AX88180', 'CONFIG_E1000_SPI', 'CONFIG_ONENAND_U_BOOT', 'CONFIG_CMD_TERMINAL', 'CONFIG_MODULES', 'CONFIG_ONENAND_SUPPORT', 'CONFIG_SH_SDHI', 'CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED', 'CONFIG_BUILD', 'CONFIG_VIDEO_ARM_MALIDP', 'CONFIG_POWER_BATTERY_TRATS', 'CONFIG_DRIVER_SMC911X', 'CONFIG_UBI', 'CONFIG_MMC_SDHCI_SPEAR', 'CONFIG_USB_OHCI_DA8XX', 'CONFIG_UDP_FUNCTION_FASTBOOT', 'CONFIG_EXT_SUPPORT', 'CONFIG_USB_EHCI_FARADAY', 'CONFIG_TARGET_AXS103', 'CONFIG_PHY_MSCC', 'CONFIG_FTPCI100', 'CONFIG_PCIE_INTEL_FPGA', 'CONFIG_IO', 'CONFIG_SECURED_MODE_CSK_INDEX', 'CONFIG_SYSRESET_MCP83XX', 'CONFIG_BOOTROM_SUPPORT', 'CONFIG_POWER_MUIC_MAX77693', 'CONFIG_MMC_SUPPORT', 'CONFIG_LOGICORE_DP_TX', 'CONFIG_GDSYS_IOEP', 'CONFIG_XILINX_MICROBLAZE0_USE_PCMP_INSTR', 'CONFIG_RMOBILE', 'CONFIG_CMD_AES', 'CONFIG_RTC_S3C24X0', 'CONFIG_NATSEMI', 'CONFIG_NS87308', 'CONFIG_CBMEM_CONSOLE', 'CONFIG_MARUBUN_PCCARD', 'CONFIG_XILINX_SPI', 'CONFIG_FS_LOADER', 'CONFIG_YAFFS2', 'CONFIG_DM644X_GPIO', 'CONFIG_SOC_DM365', 'CONFIG_ARC_TIMER', 'CONFIG_POWER_MAX8998', 'CONFIG_CMD_FDC', 'CONFIG_RTC_RV3029', 'CONFIG_RTC_AT91SAM9_RTT', 'CONFIG_EXYNOS_PWM_BL', 'CONFIG_CLK_MPC83XX', 'CONFIG_RTC_DS1302', 'CONFIG_TPM_TIS_SANDBOX', 'CONFIG_MPC83XX_TIMER', 'CONFIG_ICS8N3QV01', 'CONFIG_ARCH_P1011', 'CONFIG_I2C_SUPPORT', 'CONFIG_GDSYS_RXAUI_CTRL', 'CONFIG_POWER_FG_MAX77693', 'CONFIG_PINCTRL_QCA953x', 'CONFIG_CMD_SHA1SUM', 'CONFIG_RTC_DAVINCI', 'CONFIG_NET_SUPPORT', 'CONFIG_FPGA_LATTICE', 'CONFIG_RTC_M41T94', 'CONFIG_MPC8XX_SPI', 'CONFIG_LPC32XX_HSUART', 'CONFIG_CMD_YAFFS2', 'CONFIG_W1_EEPROM_DS2502', 'CONFIG_VIDEO_MX3', 'CONFIG_UT_UNICODE', 'CONFIG_RTC_MX27', 'CONFIG_LIBAVB', 'CONFIG_RTC_DS164x', 'CONFIG_CMD_HVC', 'CONFIG_CPU_V7', 'CONFIG_FPGA_VIRTEX2', 'CONFIG_POWER_MAX8997', 'CONFIG_MVEBU_SPL_BOOT_DEVICE_UART', 'CONFIG_ETH_SANDBOX', 'CONFIG_DEBUG_LL', 'CONFIG_MCR3000', 'CONFIG_USB_EHCI_RMOBILE', 'CONFIG_DB8500_GPIO', 'CONFIG_SECURED_MODE_IMAGE', 'CONFIG_CMD_TRACE', 'CONFIG_AVB_VERIFY', 'CONFIG_NULLDEV_SERIAL', 'CONFIG_CMD_INI', 'CONFIG_VIRTIO_SANDBOX', 'CONFIG_MACH_DAVINCI_DA830_EVM', 'CONFIG_USB_ETHER_LAN75XX', 'CONFIG_SUN4I_SPI', 'CONFIG_CMD_BINOP', 'CONFIG_RTC_SUPPORT', 'CONFIG_USB_DA8XX', 'CONFIG_SOC_DM644X', 'CONFIG_ALTERA_SPI', 'CONFIG_SYS_FPGA_COMMON', 'CONFIG_TOOLS_DEBUG', 'CONFIG_USB_GADGET_FOTG210', 'CONFIG_RTC_X1205', 'CONFIG_FPGA_SPARTAN2', 'CONFIG_CMD_MFSL', 'CONFIG_RISCV_ISA_C'] > JJ > > > > > > _______________________________________________ > U-Boot mailing list > U-Boot at lists.denx.de > https://lists.denx.de/listinfo/u-boot ^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot] policy regarding unused code 2018-12-11 15:46 ` Jean-Jacques Hiblot @ 2018-12-11 16:35 ` Tom Rini 2018-12-11 17:01 ` Jean-Jacques Hiblot 2018-12-11 19:24 ` Robert P. J. Day 2018-12-11 22:44 ` Lukasz Majewski 2018-12-14 15:54 ` Neil Armstrong 2 siblings, 2 replies; 11+ messages in thread From: Tom Rini @ 2018-12-11 16:35 UTC (permalink / raw) To: u-boot On Tue, Dec 11, 2018 at 04:46:01PM +0100, Jean-Jacques Hiblot wrote: > > On 11/12/2018 16:25, Jean-Jacques Hiblot wrote: > >Hi Tom, > > > >Is there such a policy described somewhere ? > > > >There are quite a pieces of code that are not used/compiled because no > >config enables it. > > > >A random pick among many others: > > > >- CONFIG_FPGA_LATTICE > > > >- CONFIG_MESON_SPIFC > > > >- CONFIG_POWER_BATTERY_TRATS2 > > > >- CONFIG_UPDATE_TFTP > > > > > Here a more complete list of suspects (there may be options that do not even > exist) > > Suspect means that the variable is probably referenced in a Makefile but not > in configs/ nor in include/configs > > This is not a small list and a lot of them we probably want to keep. > > ['CONFIG_MX8M', 'CONFIG_POWER_PMIC_MAX77693', 'CONFIG_TPM2_TIS_SANDBOX', > 'CONFIG_TPM_ST33ZP24_SPI', 'CONFIG_USB_SL811HS', 'CONFIG_RAM_SUPPORT', > 'CONFIG_BCM2835_WDT', 'CONFIG_ENV_IS_IN_SATA', 'CONFIG_IO64', > 'CONFIG_NAND_SUPPORT', 'CONFIG_NOR_SUPPORT', 'CONFIG_RISCV_ISA_A', > 'CONFIG_I2C_MUX_GPIO', 'CONFIG_POWER_FG_MAX17042', 'CONFIG_DNET', > 'CONFIG_CMD_SH_ZIMAGEBOOT', 'CONFIG_USE_DEFAULT_ENV_FILE', > 'CONFIG_CMD_IOTRACE', 'CONFIG_ALI152X', 'CONFIG_M5271', > 'CONFIG_CPU_MPC83XX', 'CONFIG_NXP_TDA19988', 'CONFIG_IMX', > 'CONFIG_ADI_GPIO2', 'CONFIG_BUILD_ENVCRC', 'CONFIG_FTMAC110', > 'CONFIG_CMD_CONITRACE', 'CONFIG_USB_DAVINCI', 'CONFIG_TARGET_XTFPGA', > 'CONFIG_DLVISION_10G', 'CONFIG_CMD_KGDB', 'CONFIG_USB_SDP_SUPPORT', > 'CONFIG_MESON_GX_VPU_POWER_DOMAIN', 'CONFIG_FSL_DMA', > 'CONFIG_IHS_VIDEO_OUT', 'CONFIG_CMD_ZFS', 'CONFIG_P2020DS', > 'CONFIG_RTC_DS1388', 'CONFIG_POWER_MUIC_MAX8997', 'CONFIG_TPM2_TIS_SPI', > 'CONFIG_TEST_FDTDEC', 'CONFIG_AIS_CONFIG_FILE', 'CONFIG_GDSYS_SOC', > 'CONFIG_CMD_DTIMG', 'CONFIG_DFU_SUPPORT', 'CONFIG_SYS_JFFS2_SORT_FRAGMENTS', > 'CONFIG_ATF', 'CONFIG_BLOBLIST', 'CONFIG_NAND_SPEAR', 'CONFIG_MPC8XXX_GPIO', > 'CONFIG_ULP_WATCHDOG', 'CONFIG_RTC_MK48T59', 'CONFIG_CMD_FITUPD', > 'CONFIG_MODVERSIONS', 'CONFIG_CPU_SH3', 'CONFIG_CMD_BEDBUG', > 'CONFIG_AT91_USB_CLK', 'CONFIG_CMD_UNIVERSE', 'CONFIG_DEBUG_UART_UNIPHIER', > 'CONFIG_CMD_DISPLAY', 'CONFIG_ETH_SANDBOX_RAW', 'CONFIG_SANDBOX', > 'CONFIG_CPU_SH2', 'CONFIG_SATA_SUPPORT', 'CONFIG_IOCON', > 'CONFIG_MESON_SPIFC', 'CONFIG_NS8382X', 'CONFIG_SOC_DM355', > 'CONFIG_BOARD_GAZERBEAM', 'CONFIG_CMD_AVB', 'CONFIG_MW_EEPROM', > 'CONFIG_SHA1_CHECK_UB_IMG', 'CONFIG_IHS_FPGA', 'CONFIG_USE_PLUGIN', > 'CONFIG_VIDEO_SIMPLE', 'CONFIG_CLK_VEXPRESS_OSC', 'CONFIG_MIPS_TUNE_14KC', > 'CONFIG_MPC83XX_SDRAM', 'CONFIG_XIP_SUPPORT', 'CONFIG_MIPS_TUNE_34KC', > 'CONFIG_ALTERA_UART', 'CONFIG_LOAD_FIT', 'CONFIG_RTC_DS1339', > 'CONFIG_ENV_SUPPORT', 'CONFIG_DEFAULT_ENV_FILE', 'CONFIG_TPM_ST33ZP24_I2C', > 'CONFIG_PCH_SUPPORT', 'CONFIG_UBOOT_PAD_TO', 'CONFIG_LYNXKDI', > 'CONFIG_CMD_SMC', 'CONFIG_BOOTCOUNT_AT91', 'CONFIG_OF_PLATDATA', > 'CONFIG_CONSOLE_TRUETYPE_NIMBUS', 'CONFIG_S6E8AX0', 'CONFIG_FPGA_ACEX1K', > 'CONFIG_MVEBU_EFUSE', 'CONFIG_CONSOLE_TRUETYPE_RUFSCRIPT', > 'CONFIG_XILINX_MICROBLAZE0_HW_VER', 'CONFIG_CONSOLE_TRUETYPE_ANKACODER', > 'CONFIG_RTC_M41T60', 'CONFIG_CMD_ZIP', 'CONFIG_USB_SUPPORT', > 'CONFIG_SPI_FLASH_SUPPORT', 'CONFIG_FLASH_PIC32', 'CONFIG_SAVEENV', > 'CONFIG_FPGA_STRATIX_II', 'CONFIG_TEE', 'CONFIG_PIC32_SPI', > 'CONFIG_FAT_SUPPORT', 'CONFIG_SERIAL_SUPPORT', 'CONFIG_RTC_DS174x', > 'CONFIG_RTC_RS5C372A', 'CONFIG_DM_DEBUG', 'CONFIG_DISPLAY_ROCKCHIP_LVDS', > 'CONFIG_CMD_ZYNQ_RSA', 'CONFIG_VEXPRESS_CONFIG', 'CONFIG_SPI_SUPPORT', > 'CONFIG_POWER_BATTERY_TRATS2', 'CONFIG_CS8900', > 'CONFIG_DRIVERS_MISC_SUPPORT', 'CONFIG_YMODEM_SUPPORT', > 'CONFIG_MPC83XX_SERDES', 'CONFIG_NAND_KB9202', 'CONFIG_PL022_SPI', > 'CONFIG_RTC_PCF2127', 'CONFIG_ARMV8_PSCI', 'CONFIG_KALLSYMS', > 'CONFIG_LAN91C96', 'CONFIG_SHELL', 'CONFIG_SOC_DM646X', > 'CONFIG_HASH_SUPPORT', 'CONFIG_ARMADA_39X', 'CONFIG_CMD_STRINGS', > 'CONFIG_ARCH_RV32I', 'CONFIG_RTC_M48T35A', 'CONFIG_DATAFLASH_MMC_SELECT', > 'CONFIG_UPDATE_TFTP', 'CONFIG_CPU_SA1100', 'CONFIG_NAND_PLAT', > 'CONFIG_GPIO_SUPPORT', 'CONFIG_RTC_DS1306', 'CONFIG_LOG_TEST', > 'CONFIG_IHS_AXI', 'CONFIG_XWAY_SWAP_BYTES', 'CONFIG_CPU_SH4', > 'CONFIG_RTC_MAX6900', 'CONFIG_TEGRA210_QSPI', 'CONFIG_SYS_I2C_VERSATILE', > 'CONFIG_PCI_SUPPORT', 'CONFIG_SPI_LOAD', 'CONFIG_NAND_FSL_UPM', > 'CONFIG_RTC_DS1556', 'CONFIG_DRIVER_AX88180', 'CONFIG_E1000_SPI', > 'CONFIG_ONENAND_U_BOOT', 'CONFIG_CMD_TERMINAL', 'CONFIG_MODULES', > 'CONFIG_ONENAND_SUPPORT', 'CONFIG_SH_SDHI', > 'CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED', 'CONFIG_BUILD', > 'CONFIG_VIDEO_ARM_MALIDP', 'CONFIG_POWER_BATTERY_TRATS', > 'CONFIG_DRIVER_SMC911X', 'CONFIG_UBI', 'CONFIG_MMC_SDHCI_SPEAR', > 'CONFIG_USB_OHCI_DA8XX', 'CONFIG_UDP_FUNCTION_FASTBOOT', > 'CONFIG_EXT_SUPPORT', 'CONFIG_USB_EHCI_FARADAY', 'CONFIG_TARGET_AXS103', > 'CONFIG_PHY_MSCC', 'CONFIG_FTPCI100', 'CONFIG_PCIE_INTEL_FPGA', 'CONFIG_IO', > 'CONFIG_SECURED_MODE_CSK_INDEX', 'CONFIG_SYSRESET_MCP83XX', > 'CONFIG_BOOTROM_SUPPORT', 'CONFIG_POWER_MUIC_MAX77693', > 'CONFIG_MMC_SUPPORT', 'CONFIG_LOGICORE_DP_TX', 'CONFIG_GDSYS_IOEP', > 'CONFIG_XILINX_MICROBLAZE0_USE_PCMP_INSTR', 'CONFIG_RMOBILE', > 'CONFIG_CMD_AES', 'CONFIG_RTC_S3C24X0', 'CONFIG_NATSEMI', 'CONFIG_NS87308', > 'CONFIG_CBMEM_CONSOLE', 'CONFIG_MARUBUN_PCCARD', 'CONFIG_XILINX_SPI', > 'CONFIG_FS_LOADER', 'CONFIG_YAFFS2', 'CONFIG_DM644X_GPIO', > 'CONFIG_SOC_DM365', 'CONFIG_ARC_TIMER', 'CONFIG_POWER_MAX8998', > 'CONFIG_CMD_FDC', 'CONFIG_RTC_RV3029', 'CONFIG_RTC_AT91SAM9_RTT', > 'CONFIG_EXYNOS_PWM_BL', 'CONFIG_CLK_MPC83XX', 'CONFIG_RTC_DS1302', > 'CONFIG_TPM_TIS_SANDBOX', 'CONFIG_MPC83XX_TIMER', 'CONFIG_ICS8N3QV01', > 'CONFIG_ARCH_P1011', 'CONFIG_I2C_SUPPORT', 'CONFIG_GDSYS_RXAUI_CTRL', > 'CONFIG_POWER_FG_MAX77693', 'CONFIG_PINCTRL_QCA953x', 'CONFIG_CMD_SHA1SUM', > 'CONFIG_RTC_DAVINCI', 'CONFIG_NET_SUPPORT', 'CONFIG_FPGA_LATTICE', > 'CONFIG_RTC_M41T94', 'CONFIG_MPC8XX_SPI', 'CONFIG_LPC32XX_HSUART', > 'CONFIG_CMD_YAFFS2', 'CONFIG_W1_EEPROM_DS2502', 'CONFIG_VIDEO_MX3', > 'CONFIG_UT_UNICODE', 'CONFIG_RTC_MX27', 'CONFIG_LIBAVB', > 'CONFIG_RTC_DS164x', 'CONFIG_CMD_HVC', 'CONFIG_CPU_V7', > 'CONFIG_FPGA_VIRTEX2', 'CONFIG_POWER_MAX8997', > 'CONFIG_MVEBU_SPL_BOOT_DEVICE_UART', 'CONFIG_ETH_SANDBOX', > 'CONFIG_DEBUG_LL', 'CONFIG_MCR3000', 'CONFIG_USB_EHCI_RMOBILE', > 'CONFIG_DB8500_GPIO', 'CONFIG_SECURED_MODE_IMAGE', 'CONFIG_CMD_TRACE', > 'CONFIG_AVB_VERIFY', 'CONFIG_NULLDEV_SERIAL', 'CONFIG_CMD_INI', > 'CONFIG_VIRTIO_SANDBOX', 'CONFIG_MACH_DAVINCI_DA830_EVM', > 'CONFIG_USB_ETHER_LAN75XX', 'CONFIG_SUN4I_SPI', 'CONFIG_CMD_BINOP', > 'CONFIG_RTC_SUPPORT', 'CONFIG_USB_DA8XX', 'CONFIG_SOC_DM644X', > 'CONFIG_ALTERA_SPI', 'CONFIG_SYS_FPGA_COMMON', 'CONFIG_TOOLS_DEBUG', > 'CONFIG_USB_GADGET_FOTG210', 'CONFIG_RTC_X1205', 'CONFIG_FPGA_SPARTAN2', > 'CONFIG_CMD_MFSL', 'CONFIG_RISCV_ISA_C'] I suspect this splits into three categories: - Dead symbols and code to drop. - Typos/thinkos - Mistake in your grep? I see CONFIG_VIRTIO_SANDBOX is used today for example. -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: <http://lists.denx.de/pipermail/u-boot/attachments/20181211/c390335a/attachment.sig> ^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot] policy regarding unused code 2018-12-11 16:35 ` Tom Rini @ 2018-12-11 17:01 ` Jean-Jacques Hiblot 2018-12-11 18:17 ` Tom Rini 2018-12-11 19:24 ` Robert P. J. Day 1 sibling, 1 reply; 11+ messages in thread From: Jean-Jacques Hiblot @ 2018-12-11 17:01 UTC (permalink / raw) To: u-boot On 11/12/2018 17:35, Tom Rini wrote: > On Tue, Dec 11, 2018 at 04:46:01PM +0100, Jean-Jacques Hiblot wrote: >> On 11/12/2018 16:25, Jean-Jacques Hiblot wrote: >>> Hi Tom, >>> >>> Is there such a policy described somewhere ? >>> >>> There are quite a pieces of code that are not used/compiled because no >>> config enables it. >>> >>> A random pick among many others: >>> >>> - CONFIG_FPGA_LATTICE >>> >>> - CONFIG_MESON_SPIFC >>> >>> - CONFIG_POWER_BATTERY_TRATS2 >>> >>> - CONFIG_UPDATE_TFTP >>> >>> >> Here a more complete list of suspects (there may be options that do not even >> exist) >> >> Suspect means that the variable is probably referenced in a Makefile but not >> in configs/ nor in include/configs >> >> This is not a small list and a lot of them we probably want to keep. >> >> ['CONFIG_MX8M', 'CONFIG_POWER_PMIC_MAX77693', 'CONFIG_TPM2_TIS_SANDBOX', >> 'CONFIG_TPM_ST33ZP24_SPI', 'CONFIG_USB_SL811HS', 'CONFIG_RAM_SUPPORT', >> 'CONFIG_BCM2835_WDT', 'CONFIG_ENV_IS_IN_SATA', 'CONFIG_IO64', >> 'CONFIG_NAND_SUPPORT', 'CONFIG_NOR_SUPPORT', 'CONFIG_RISCV_ISA_A', >> 'CONFIG_I2C_MUX_GPIO', 'CONFIG_POWER_FG_MAX17042', 'CONFIG_DNET', >> 'CONFIG_CMD_SH_ZIMAGEBOOT', 'CONFIG_USE_DEFAULT_ENV_FILE', >> 'CONFIG_CMD_IOTRACE', 'CONFIG_ALI152X', 'CONFIG_M5271', >> 'CONFIG_CPU_MPC83XX', 'CONFIG_NXP_TDA19988', 'CONFIG_IMX', >> 'CONFIG_ADI_GPIO2', 'CONFIG_BUILD_ENVCRC', 'CONFIG_FTMAC110', >> 'CONFIG_CMD_CONITRACE', 'CONFIG_USB_DAVINCI', 'CONFIG_TARGET_XTFPGA', >> 'CONFIG_DLVISION_10G', 'CONFIG_CMD_KGDB', 'CONFIG_USB_SDP_SUPPORT', >> 'CONFIG_MESON_GX_VPU_POWER_DOMAIN', 'CONFIG_FSL_DMA', >> 'CONFIG_IHS_VIDEO_OUT', 'CONFIG_CMD_ZFS', 'CONFIG_P2020DS', >> 'CONFIG_RTC_DS1388', 'CONFIG_POWER_MUIC_MAX8997', 'CONFIG_TPM2_TIS_SPI', >> 'CONFIG_TEST_FDTDEC', 'CONFIG_AIS_CONFIG_FILE', 'CONFIG_GDSYS_SOC', >> 'CONFIG_CMD_DTIMG', 'CONFIG_DFU_SUPPORT', 'CONFIG_SYS_JFFS2_SORT_FRAGMENTS', >> 'CONFIG_ATF', 'CONFIG_BLOBLIST', 'CONFIG_NAND_SPEAR', 'CONFIG_MPC8XXX_GPIO', >> 'CONFIG_ULP_WATCHDOG', 'CONFIG_RTC_MK48T59', 'CONFIG_CMD_FITUPD', >> 'CONFIG_MODVERSIONS', 'CONFIG_CPU_SH3', 'CONFIG_CMD_BEDBUG', >> 'CONFIG_AT91_USB_CLK', 'CONFIG_CMD_UNIVERSE', 'CONFIG_DEBUG_UART_UNIPHIER', >> 'CONFIG_CMD_DISPLAY', 'CONFIG_ETH_SANDBOX_RAW', 'CONFIG_SANDBOX', >> 'CONFIG_CPU_SH2', 'CONFIG_SATA_SUPPORT', 'CONFIG_IOCON', >> 'CONFIG_MESON_SPIFC', 'CONFIG_NS8382X', 'CONFIG_SOC_DM355', >> 'CONFIG_BOARD_GAZERBEAM', 'CONFIG_CMD_AVB', 'CONFIG_MW_EEPROM', >> 'CONFIG_SHA1_CHECK_UB_IMG', 'CONFIG_IHS_FPGA', 'CONFIG_USE_PLUGIN', >> 'CONFIG_VIDEO_SIMPLE', 'CONFIG_CLK_VEXPRESS_OSC', 'CONFIG_MIPS_TUNE_14KC', >> 'CONFIG_MPC83XX_SDRAM', 'CONFIG_XIP_SUPPORT', 'CONFIG_MIPS_TUNE_34KC', >> 'CONFIG_ALTERA_UART', 'CONFIG_LOAD_FIT', 'CONFIG_RTC_DS1339', >> 'CONFIG_ENV_SUPPORT', 'CONFIG_DEFAULT_ENV_FILE', 'CONFIG_TPM_ST33ZP24_I2C', >> 'CONFIG_PCH_SUPPORT', 'CONFIG_UBOOT_PAD_TO', 'CONFIG_LYNXKDI', >> 'CONFIG_CMD_SMC', 'CONFIG_BOOTCOUNT_AT91', 'CONFIG_OF_PLATDATA', >> 'CONFIG_CONSOLE_TRUETYPE_NIMBUS', 'CONFIG_S6E8AX0', 'CONFIG_FPGA_ACEX1K', >> 'CONFIG_MVEBU_EFUSE', 'CONFIG_CONSOLE_TRUETYPE_RUFSCRIPT', >> 'CONFIG_XILINX_MICROBLAZE0_HW_VER', 'CONFIG_CONSOLE_TRUETYPE_ANKACODER', >> 'CONFIG_RTC_M41T60', 'CONFIG_CMD_ZIP', 'CONFIG_USB_SUPPORT', >> 'CONFIG_SPI_FLASH_SUPPORT', 'CONFIG_FLASH_PIC32', 'CONFIG_SAVEENV', >> 'CONFIG_FPGA_STRATIX_II', 'CONFIG_TEE', 'CONFIG_PIC32_SPI', >> 'CONFIG_FAT_SUPPORT', 'CONFIG_SERIAL_SUPPORT', 'CONFIG_RTC_DS174x', >> 'CONFIG_RTC_RS5C372A', 'CONFIG_DM_DEBUG', 'CONFIG_DISPLAY_ROCKCHIP_LVDS', >> 'CONFIG_CMD_ZYNQ_RSA', 'CONFIG_VEXPRESS_CONFIG', 'CONFIG_SPI_SUPPORT', >> 'CONFIG_POWER_BATTERY_TRATS2', 'CONFIG_CS8900', >> 'CONFIG_DRIVERS_MISC_SUPPORT', 'CONFIG_YMODEM_SUPPORT', >> 'CONFIG_MPC83XX_SERDES', 'CONFIG_NAND_KB9202', 'CONFIG_PL022_SPI', >> 'CONFIG_RTC_PCF2127', 'CONFIG_ARMV8_PSCI', 'CONFIG_KALLSYMS', >> 'CONFIG_LAN91C96', 'CONFIG_SHELL', 'CONFIG_SOC_DM646X', >> 'CONFIG_HASH_SUPPORT', 'CONFIG_ARMADA_39X', 'CONFIG_CMD_STRINGS', >> 'CONFIG_ARCH_RV32I', 'CONFIG_RTC_M48T35A', 'CONFIG_DATAFLASH_MMC_SELECT', >> 'CONFIG_UPDATE_TFTP', 'CONFIG_CPU_SA1100', 'CONFIG_NAND_PLAT', >> 'CONFIG_GPIO_SUPPORT', 'CONFIG_RTC_DS1306', 'CONFIG_LOG_TEST', >> 'CONFIG_IHS_AXI', 'CONFIG_XWAY_SWAP_BYTES', 'CONFIG_CPU_SH4', >> 'CONFIG_RTC_MAX6900', 'CONFIG_TEGRA210_QSPI', 'CONFIG_SYS_I2C_VERSATILE', >> 'CONFIG_PCI_SUPPORT', 'CONFIG_SPI_LOAD', 'CONFIG_NAND_FSL_UPM', >> 'CONFIG_RTC_DS1556', 'CONFIG_DRIVER_AX88180', 'CONFIG_E1000_SPI', >> 'CONFIG_ONENAND_U_BOOT', 'CONFIG_CMD_TERMINAL', 'CONFIG_MODULES', >> 'CONFIG_ONENAND_SUPPORT', 'CONFIG_SH_SDHI', >> 'CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED', 'CONFIG_BUILD', >> 'CONFIG_VIDEO_ARM_MALIDP', 'CONFIG_POWER_BATTERY_TRATS', >> 'CONFIG_DRIVER_SMC911X', 'CONFIG_UBI', 'CONFIG_MMC_SDHCI_SPEAR', >> 'CONFIG_USB_OHCI_DA8XX', 'CONFIG_UDP_FUNCTION_FASTBOOT', >> 'CONFIG_EXT_SUPPORT', 'CONFIG_USB_EHCI_FARADAY', 'CONFIG_TARGET_AXS103', >> 'CONFIG_PHY_MSCC', 'CONFIG_FTPCI100', 'CONFIG_PCIE_INTEL_FPGA', 'CONFIG_IO', >> 'CONFIG_SECURED_MODE_CSK_INDEX', 'CONFIG_SYSRESET_MCP83XX', >> 'CONFIG_BOOTROM_SUPPORT', 'CONFIG_POWER_MUIC_MAX77693', >> 'CONFIG_MMC_SUPPORT', 'CONFIG_LOGICORE_DP_TX', 'CONFIG_GDSYS_IOEP', >> 'CONFIG_XILINX_MICROBLAZE0_USE_PCMP_INSTR', 'CONFIG_RMOBILE', >> 'CONFIG_CMD_AES', 'CONFIG_RTC_S3C24X0', 'CONFIG_NATSEMI', 'CONFIG_NS87308', >> 'CONFIG_CBMEM_CONSOLE', 'CONFIG_MARUBUN_PCCARD', 'CONFIG_XILINX_SPI', >> 'CONFIG_FS_LOADER', 'CONFIG_YAFFS2', 'CONFIG_DM644X_GPIO', >> 'CONFIG_SOC_DM365', 'CONFIG_ARC_TIMER', 'CONFIG_POWER_MAX8998', >> 'CONFIG_CMD_FDC', 'CONFIG_RTC_RV3029', 'CONFIG_RTC_AT91SAM9_RTT', >> 'CONFIG_EXYNOS_PWM_BL', 'CONFIG_CLK_MPC83XX', 'CONFIG_RTC_DS1302', >> 'CONFIG_TPM_TIS_SANDBOX', 'CONFIG_MPC83XX_TIMER', 'CONFIG_ICS8N3QV01', >> 'CONFIG_ARCH_P1011', 'CONFIG_I2C_SUPPORT', 'CONFIG_GDSYS_RXAUI_CTRL', >> 'CONFIG_POWER_FG_MAX77693', 'CONFIG_PINCTRL_QCA953x', 'CONFIG_CMD_SHA1SUM', >> 'CONFIG_RTC_DAVINCI', 'CONFIG_NET_SUPPORT', 'CONFIG_FPGA_LATTICE', >> 'CONFIG_RTC_M41T94', 'CONFIG_MPC8XX_SPI', 'CONFIG_LPC32XX_HSUART', >> 'CONFIG_CMD_YAFFS2', 'CONFIG_W1_EEPROM_DS2502', 'CONFIG_VIDEO_MX3', >> 'CONFIG_UT_UNICODE', 'CONFIG_RTC_MX27', 'CONFIG_LIBAVB', >> 'CONFIG_RTC_DS164x', 'CONFIG_CMD_HVC', 'CONFIG_CPU_V7', >> 'CONFIG_FPGA_VIRTEX2', 'CONFIG_POWER_MAX8997', >> 'CONFIG_MVEBU_SPL_BOOT_DEVICE_UART', 'CONFIG_ETH_SANDBOX', >> 'CONFIG_DEBUG_LL', 'CONFIG_MCR3000', 'CONFIG_USB_EHCI_RMOBILE', >> 'CONFIG_DB8500_GPIO', 'CONFIG_SECURED_MODE_IMAGE', 'CONFIG_CMD_TRACE', >> 'CONFIG_AVB_VERIFY', 'CONFIG_NULLDEV_SERIAL', 'CONFIG_CMD_INI', >> 'CONFIG_VIRTIO_SANDBOX', 'CONFIG_MACH_DAVINCI_DA830_EVM', >> 'CONFIG_USB_ETHER_LAN75XX', 'CONFIG_SUN4I_SPI', 'CONFIG_CMD_BINOP', >> 'CONFIG_RTC_SUPPORT', 'CONFIG_USB_DA8XX', 'CONFIG_SOC_DM644X', >> 'CONFIG_ALTERA_SPI', 'CONFIG_SYS_FPGA_COMMON', 'CONFIG_TOOLS_DEBUG', >> 'CONFIG_USB_GADGET_FOTG210', 'CONFIG_RTC_X1205', 'CONFIG_FPGA_SPARTAN2', >> 'CONFIG_CMD_MFSL', 'CONFIG_RISCV_ISA_C'] > I suspect this splits into three categories: > - Dead symbols and code to drop. > - Typos/thinkos > - Mistake in your grep? I see CONFIG_VIRTIO_SANDBOX is used today for > example. Oh yes. the code is far from perfect. this is a list of 'suspects'. It could be made more accurate but I would have to download a ton of toolchains to produce the exact configuration file for every board. So the script is taking shortcuts and only give suspects. It also indicates non existing variable like CONFIG_SERIAL_SUPPORT because CONFIG_SPL_SERIAL_SUPPORT does exist. So this list must be taken with (big) grain of salt. > ^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot] policy regarding unused code 2018-12-11 17:01 ` Jean-Jacques Hiblot @ 2018-12-11 18:17 ` Tom Rini 2018-12-12 11:59 ` Jean-Jacques Hiblot 0 siblings, 1 reply; 11+ messages in thread From: Tom Rini @ 2018-12-11 18:17 UTC (permalink / raw) To: u-boot On Tue, Dec 11, 2018 at 06:01:23PM +0100, Jean-Jacques Hiblot wrote: > > On 11/12/2018 17:35, Tom Rini wrote: > >On Tue, Dec 11, 2018 at 04:46:01PM +0100, Jean-Jacques Hiblot wrote: > >>On 11/12/2018 16:25, Jean-Jacques Hiblot wrote: > >>>Hi Tom, > >>> > >>>Is there such a policy described somewhere ? > >>> > >>>There are quite a pieces of code that are not used/compiled because no > >>>config enables it. > >>> > >>>A random pick among many others: > >>> > >>>- CONFIG_FPGA_LATTICE > >>> > >>>- CONFIG_MESON_SPIFC > >>> > >>>- CONFIG_POWER_BATTERY_TRATS2 > >>> > >>>- CONFIG_UPDATE_TFTP > >>> > >>> > >>Here a more complete list of suspects (there may be options that do not even > >>exist) > >> > >>Suspect means that the variable is probably referenced in a Makefile but not > >>in configs/ nor in include/configs > >> > >>This is not a small list and a lot of them we probably want to keep. > >> > >>['CONFIG_MX8M', 'CONFIG_POWER_PMIC_MAX77693', 'CONFIG_TPM2_TIS_SANDBOX', > >>'CONFIG_TPM_ST33ZP24_SPI', 'CONFIG_USB_SL811HS', 'CONFIG_RAM_SUPPORT', > >>'CONFIG_BCM2835_WDT', 'CONFIG_ENV_IS_IN_SATA', 'CONFIG_IO64', > >>'CONFIG_NAND_SUPPORT', 'CONFIG_NOR_SUPPORT', 'CONFIG_RISCV_ISA_A', > >>'CONFIG_I2C_MUX_GPIO', 'CONFIG_POWER_FG_MAX17042', 'CONFIG_DNET', > >>'CONFIG_CMD_SH_ZIMAGEBOOT', 'CONFIG_USE_DEFAULT_ENV_FILE', > >>'CONFIG_CMD_IOTRACE', 'CONFIG_ALI152X', 'CONFIG_M5271', > >>'CONFIG_CPU_MPC83XX', 'CONFIG_NXP_TDA19988', 'CONFIG_IMX', > >>'CONFIG_ADI_GPIO2', 'CONFIG_BUILD_ENVCRC', 'CONFIG_FTMAC110', > >>'CONFIG_CMD_CONITRACE', 'CONFIG_USB_DAVINCI', 'CONFIG_TARGET_XTFPGA', > >>'CONFIG_DLVISION_10G', 'CONFIG_CMD_KGDB', 'CONFIG_USB_SDP_SUPPORT', > >>'CONFIG_MESON_GX_VPU_POWER_DOMAIN', 'CONFIG_FSL_DMA', > >>'CONFIG_IHS_VIDEO_OUT', 'CONFIG_CMD_ZFS', 'CONFIG_P2020DS', > >>'CONFIG_RTC_DS1388', 'CONFIG_POWER_MUIC_MAX8997', 'CONFIG_TPM2_TIS_SPI', > >>'CONFIG_TEST_FDTDEC', 'CONFIG_AIS_CONFIG_FILE', 'CONFIG_GDSYS_SOC', > >>'CONFIG_CMD_DTIMG', 'CONFIG_DFU_SUPPORT', 'CONFIG_SYS_JFFS2_SORT_FRAGMENTS', > >>'CONFIG_ATF', 'CONFIG_BLOBLIST', 'CONFIG_NAND_SPEAR', 'CONFIG_MPC8XXX_GPIO', > >>'CONFIG_ULP_WATCHDOG', 'CONFIG_RTC_MK48T59', 'CONFIG_CMD_FITUPD', > >>'CONFIG_MODVERSIONS', 'CONFIG_CPU_SH3', 'CONFIG_CMD_BEDBUG', > >>'CONFIG_AT91_USB_CLK', 'CONFIG_CMD_UNIVERSE', 'CONFIG_DEBUG_UART_UNIPHIER', > >>'CONFIG_CMD_DISPLAY', 'CONFIG_ETH_SANDBOX_RAW', 'CONFIG_SANDBOX', > >>'CONFIG_CPU_SH2', 'CONFIG_SATA_SUPPORT', 'CONFIG_IOCON', > >>'CONFIG_MESON_SPIFC', 'CONFIG_NS8382X', 'CONFIG_SOC_DM355', > >>'CONFIG_BOARD_GAZERBEAM', 'CONFIG_CMD_AVB', 'CONFIG_MW_EEPROM', > >>'CONFIG_SHA1_CHECK_UB_IMG', 'CONFIG_IHS_FPGA', 'CONFIG_USE_PLUGIN', > >>'CONFIG_VIDEO_SIMPLE', 'CONFIG_CLK_VEXPRESS_OSC', 'CONFIG_MIPS_TUNE_14KC', > >>'CONFIG_MPC83XX_SDRAM', 'CONFIG_XIP_SUPPORT', 'CONFIG_MIPS_TUNE_34KC', > >>'CONFIG_ALTERA_UART', 'CONFIG_LOAD_FIT', 'CONFIG_RTC_DS1339', > >>'CONFIG_ENV_SUPPORT', 'CONFIG_DEFAULT_ENV_FILE', 'CONFIG_TPM_ST33ZP24_I2C', > >>'CONFIG_PCH_SUPPORT', 'CONFIG_UBOOT_PAD_TO', 'CONFIG_LYNXKDI', > >>'CONFIG_CMD_SMC', 'CONFIG_BOOTCOUNT_AT91', 'CONFIG_OF_PLATDATA', > >>'CONFIG_CONSOLE_TRUETYPE_NIMBUS', 'CONFIG_S6E8AX0', 'CONFIG_FPGA_ACEX1K', > >>'CONFIG_MVEBU_EFUSE', 'CONFIG_CONSOLE_TRUETYPE_RUFSCRIPT', > >>'CONFIG_XILINX_MICROBLAZE0_HW_VER', 'CONFIG_CONSOLE_TRUETYPE_ANKACODER', > >>'CONFIG_RTC_M41T60', 'CONFIG_CMD_ZIP', 'CONFIG_USB_SUPPORT', > >>'CONFIG_SPI_FLASH_SUPPORT', 'CONFIG_FLASH_PIC32', 'CONFIG_SAVEENV', > >>'CONFIG_FPGA_STRATIX_II', 'CONFIG_TEE', 'CONFIG_PIC32_SPI', > >>'CONFIG_FAT_SUPPORT', 'CONFIG_SERIAL_SUPPORT', 'CONFIG_RTC_DS174x', > >>'CONFIG_RTC_RS5C372A', 'CONFIG_DM_DEBUG', 'CONFIG_DISPLAY_ROCKCHIP_LVDS', > >>'CONFIG_CMD_ZYNQ_RSA', 'CONFIG_VEXPRESS_CONFIG', 'CONFIG_SPI_SUPPORT', > >>'CONFIG_POWER_BATTERY_TRATS2', 'CONFIG_CS8900', > >>'CONFIG_DRIVERS_MISC_SUPPORT', 'CONFIG_YMODEM_SUPPORT', > >>'CONFIG_MPC83XX_SERDES', 'CONFIG_NAND_KB9202', 'CONFIG_PL022_SPI', > >>'CONFIG_RTC_PCF2127', 'CONFIG_ARMV8_PSCI', 'CONFIG_KALLSYMS', > >>'CONFIG_LAN91C96', 'CONFIG_SHELL', 'CONFIG_SOC_DM646X', > >>'CONFIG_HASH_SUPPORT', 'CONFIG_ARMADA_39X', 'CONFIG_CMD_STRINGS', > >>'CONFIG_ARCH_RV32I', 'CONFIG_RTC_M48T35A', 'CONFIG_DATAFLASH_MMC_SELECT', > >>'CONFIG_UPDATE_TFTP', 'CONFIG_CPU_SA1100', 'CONFIG_NAND_PLAT', > >>'CONFIG_GPIO_SUPPORT', 'CONFIG_RTC_DS1306', 'CONFIG_LOG_TEST', > >>'CONFIG_IHS_AXI', 'CONFIG_XWAY_SWAP_BYTES', 'CONFIG_CPU_SH4', > >>'CONFIG_RTC_MAX6900', 'CONFIG_TEGRA210_QSPI', 'CONFIG_SYS_I2C_VERSATILE', > >>'CONFIG_PCI_SUPPORT', 'CONFIG_SPI_LOAD', 'CONFIG_NAND_FSL_UPM', > >>'CONFIG_RTC_DS1556', 'CONFIG_DRIVER_AX88180', 'CONFIG_E1000_SPI', > >>'CONFIG_ONENAND_U_BOOT', 'CONFIG_CMD_TERMINAL', 'CONFIG_MODULES', > >>'CONFIG_ONENAND_SUPPORT', 'CONFIG_SH_SDHI', > >>'CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED', 'CONFIG_BUILD', > >>'CONFIG_VIDEO_ARM_MALIDP', 'CONFIG_POWER_BATTERY_TRATS', > >>'CONFIG_DRIVER_SMC911X', 'CONFIG_UBI', 'CONFIG_MMC_SDHCI_SPEAR', > >>'CONFIG_USB_OHCI_DA8XX', 'CONFIG_UDP_FUNCTION_FASTBOOT', > >>'CONFIG_EXT_SUPPORT', 'CONFIG_USB_EHCI_FARADAY', 'CONFIG_TARGET_AXS103', > >>'CONFIG_PHY_MSCC', 'CONFIG_FTPCI100', 'CONFIG_PCIE_INTEL_FPGA', 'CONFIG_IO', > >>'CONFIG_SECURED_MODE_CSK_INDEX', 'CONFIG_SYSRESET_MCP83XX', > >>'CONFIG_BOOTROM_SUPPORT', 'CONFIG_POWER_MUIC_MAX77693', > >>'CONFIG_MMC_SUPPORT', 'CONFIG_LOGICORE_DP_TX', 'CONFIG_GDSYS_IOEP', > >>'CONFIG_XILINX_MICROBLAZE0_USE_PCMP_INSTR', 'CONFIG_RMOBILE', > >>'CONFIG_CMD_AES', 'CONFIG_RTC_S3C24X0', 'CONFIG_NATSEMI', 'CONFIG_NS87308', > >>'CONFIG_CBMEM_CONSOLE', 'CONFIG_MARUBUN_PCCARD', 'CONFIG_XILINX_SPI', > >>'CONFIG_FS_LOADER', 'CONFIG_YAFFS2', 'CONFIG_DM644X_GPIO', > >>'CONFIG_SOC_DM365', 'CONFIG_ARC_TIMER', 'CONFIG_POWER_MAX8998', > >>'CONFIG_CMD_FDC', 'CONFIG_RTC_RV3029', 'CONFIG_RTC_AT91SAM9_RTT', > >>'CONFIG_EXYNOS_PWM_BL', 'CONFIG_CLK_MPC83XX', 'CONFIG_RTC_DS1302', > >>'CONFIG_TPM_TIS_SANDBOX', 'CONFIG_MPC83XX_TIMER', 'CONFIG_ICS8N3QV01', > >>'CONFIG_ARCH_P1011', 'CONFIG_I2C_SUPPORT', 'CONFIG_GDSYS_RXAUI_CTRL', > >>'CONFIG_POWER_FG_MAX77693', 'CONFIG_PINCTRL_QCA953x', 'CONFIG_CMD_SHA1SUM', > >>'CONFIG_RTC_DAVINCI', 'CONFIG_NET_SUPPORT', 'CONFIG_FPGA_LATTICE', > >>'CONFIG_RTC_M41T94', 'CONFIG_MPC8XX_SPI', 'CONFIG_LPC32XX_HSUART', > >>'CONFIG_CMD_YAFFS2', 'CONFIG_W1_EEPROM_DS2502', 'CONFIG_VIDEO_MX3', > >>'CONFIG_UT_UNICODE', 'CONFIG_RTC_MX27', 'CONFIG_LIBAVB', > >>'CONFIG_RTC_DS164x', 'CONFIG_CMD_HVC', 'CONFIG_CPU_V7', > >>'CONFIG_FPGA_VIRTEX2', 'CONFIG_POWER_MAX8997', > >>'CONFIG_MVEBU_SPL_BOOT_DEVICE_UART', 'CONFIG_ETH_SANDBOX', > >>'CONFIG_DEBUG_LL', 'CONFIG_MCR3000', 'CONFIG_USB_EHCI_RMOBILE', > >>'CONFIG_DB8500_GPIO', 'CONFIG_SECURED_MODE_IMAGE', 'CONFIG_CMD_TRACE', > >>'CONFIG_AVB_VERIFY', 'CONFIG_NULLDEV_SERIAL', 'CONFIG_CMD_INI', > >>'CONFIG_VIRTIO_SANDBOX', 'CONFIG_MACH_DAVINCI_DA830_EVM', > >>'CONFIG_USB_ETHER_LAN75XX', 'CONFIG_SUN4I_SPI', 'CONFIG_CMD_BINOP', > >>'CONFIG_RTC_SUPPORT', 'CONFIG_USB_DA8XX', 'CONFIG_SOC_DM644X', > >>'CONFIG_ALTERA_SPI', 'CONFIG_SYS_FPGA_COMMON', 'CONFIG_TOOLS_DEBUG', > >>'CONFIG_USB_GADGET_FOTG210', 'CONFIG_RTC_X1205', 'CONFIG_FPGA_SPARTAN2', > >>'CONFIG_CMD_MFSL', 'CONFIG_RISCV_ISA_C'] > >I suspect this splits into three categories: > >- Dead symbols and code to drop. > >- Typos/thinkos > >- Mistake in your grep? I see CONFIG_VIRTIO_SANDBOX is used today for > > example. > > Oh yes. the code is far from perfect. this is a list of 'suspects'. It could > be made more accurate but I would have to download a ton of toolchains to > produce the exact configuration file for every board. So the script is > taking shortcuts and only give suspects. > > It also indicates non existing variable like CONFIG_SERIAL_SUPPORT because > CONFIG_SPL_SERIAL_SUPPORT does exist. > > So this list must be taken with (big) grain of salt. I suspect there's enough false positives in there to make it problematic to find the really bad symbols. To get all of the toolchains: $ for A in aarch64 arm m68k microblaze mips powerpc riscv64 sh2 i386; do \ ./tools/buildman/buildman --fetch-arch $A;done and then add this to ~/.buildman: [toolchain-alias] sh = sh2 x86 = i386 riscv = riscv64 Thanks! -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: <http://lists.denx.de/pipermail/u-boot/attachments/20181211/39db392e/attachment.sig> ^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot] policy regarding unused code 2018-12-11 18:17 ` Tom Rini @ 2018-12-12 11:59 ` Jean-Jacques Hiblot [not found] ` <752D002CFF5D0F4FA35C0100F1D73F3FA3A5E60E@ATCPCS16.andestech.com> 0 siblings, 1 reply; 11+ messages in thread From: Jean-Jacques Hiblot @ 2018-12-12 11:59 UTC (permalink / raw) To: u-boot Tom, Rick, On 11/12/2018 19:17, Tom Rini wrote: > On Tue, Dec 11, 2018 at 06:01:23PM +0100, Jean-Jacques Hiblot wrote: >> On 11/12/2018 17:35, Tom Rini wrote: >>> On Tue, Dec 11, 2018 at 04:46:01PM +0100, Jean-Jacques Hiblot wrote: >>>> On 11/12/2018 16:25, Jean-Jacques Hiblot wrote: >>>>> Hi Tom, >>>>> >>>>> Is there such a policy described somewhere ? >>>>> >>>>> There are quite a pieces of code that are not used/compiled because no >>>>> config enables it. >>>>> >>>>> A random pick among many others: >>>>> >>>>> - CONFIG_FPGA_LATTICE >>>>> >>>>> - CONFIG_MESON_SPIFC >>>>> >>>>> - CONFIG_POWER_BATTERY_TRATS2 >>>>> >>>>> - CONFIG_UPDATE_TFTP >>>>> >>>>> >>>> Here a more complete list of suspects (there may be options that do not even >>>> exist) >>>> >>>> Suspect means that the variable is probably referenced in a Makefile but not >>>> in configs/ nor in include/configs >>>> >>>> This is not a small list and a lot of them we probably want to keep. >>>> >>>> ['CONFIG_MX8M', 'CONFIG_POWER_PMIC_MAX77693', 'CONFIG_TPM2_TIS_SANDBOX', >>>> 'CONFIG_TPM_ST33ZP24_SPI', 'CONFIG_USB_SL811HS', 'CONFIG_RAM_SUPPORT', >>>> 'CONFIG_BCM2835_WDT', 'CONFIG_ENV_IS_IN_SATA', 'CONFIG_IO64', >>>> 'CONFIG_NAND_SUPPORT', 'CONFIG_NOR_SUPPORT', 'CONFIG_RISCV_ISA_A', >>>> 'CONFIG_I2C_MUX_GPIO', 'CONFIG_POWER_FG_MAX17042', 'CONFIG_DNET', >>>> 'CONFIG_CMD_SH_ZIMAGEBOOT', 'CONFIG_USE_DEFAULT_ENV_FILE', >>>> 'CONFIG_CMD_IOTRACE', 'CONFIG_ALI152X', 'CONFIG_M5271', >>>> 'CONFIG_CPU_MPC83XX', 'CONFIG_NXP_TDA19988', 'CONFIG_IMX', >>>> 'CONFIG_ADI_GPIO2', 'CONFIG_BUILD_ENVCRC', 'CONFIG_FTMAC110', >>>> 'CONFIG_CMD_CONITRACE', 'CONFIG_USB_DAVINCI', 'CONFIG_TARGET_XTFPGA', >>>> 'CONFIG_DLVISION_10G', 'CONFIG_CMD_KGDB', 'CONFIG_USB_SDP_SUPPORT', >>>> 'CONFIG_MESON_GX_VPU_POWER_DOMAIN', 'CONFIG_FSL_DMA', >>>> 'CONFIG_IHS_VIDEO_OUT', 'CONFIG_CMD_ZFS', 'CONFIG_P2020DS', >>>> 'CONFIG_RTC_DS1388', 'CONFIG_POWER_MUIC_MAX8997', 'CONFIG_TPM2_TIS_SPI', >>>> 'CONFIG_TEST_FDTDEC', 'CONFIG_AIS_CONFIG_FILE', 'CONFIG_GDSYS_SOC', >>>> 'CONFIG_CMD_DTIMG', 'CONFIG_DFU_SUPPORT', 'CONFIG_SYS_JFFS2_SORT_FRAGMENTS', >>>> 'CONFIG_ATF', 'CONFIG_BLOBLIST', 'CONFIG_NAND_SPEAR', 'CONFIG_MPC8XXX_GPIO', >>>> 'CONFIG_ULP_WATCHDOG', 'CONFIG_RTC_MK48T59', 'CONFIG_CMD_FITUPD', >>>> 'CONFIG_MODVERSIONS', 'CONFIG_CPU_SH3', 'CONFIG_CMD_BEDBUG', >>>> 'CONFIG_AT91_USB_CLK', 'CONFIG_CMD_UNIVERSE', 'CONFIG_DEBUG_UART_UNIPHIER', >>>> 'CONFIG_CMD_DISPLAY', 'CONFIG_ETH_SANDBOX_RAW', 'CONFIG_SANDBOX', >>>> 'CONFIG_CPU_SH2', 'CONFIG_SATA_SUPPORT', 'CONFIG_IOCON', >>>> 'CONFIG_MESON_SPIFC', 'CONFIG_NS8382X', 'CONFIG_SOC_DM355', >>>> 'CONFIG_BOARD_GAZERBEAM', 'CONFIG_CMD_AVB', 'CONFIG_MW_EEPROM', >>>> 'CONFIG_SHA1_CHECK_UB_IMG', 'CONFIG_IHS_FPGA', 'CONFIG_USE_PLUGIN', >>>> 'CONFIG_VIDEO_SIMPLE', 'CONFIG_CLK_VEXPRESS_OSC', 'CONFIG_MIPS_TUNE_14KC', >>>> 'CONFIG_MPC83XX_SDRAM', 'CONFIG_XIP_SUPPORT', 'CONFIG_MIPS_TUNE_34KC', >>>> 'CONFIG_ALTERA_UART', 'CONFIG_LOAD_FIT', 'CONFIG_RTC_DS1339', >>>> 'CONFIG_ENV_SUPPORT', 'CONFIG_DEFAULT_ENV_FILE', 'CONFIG_TPM_ST33ZP24_I2C', >>>> 'CONFIG_PCH_SUPPORT', 'CONFIG_UBOOT_PAD_TO', 'CONFIG_LYNXKDI', >>>> 'CONFIG_CMD_SMC', 'CONFIG_BOOTCOUNT_AT91', 'CONFIG_OF_PLATDATA', >>>> 'CONFIG_CONSOLE_TRUETYPE_NIMBUS', 'CONFIG_S6E8AX0', 'CONFIG_FPGA_ACEX1K', >>>> 'CONFIG_MVEBU_EFUSE', 'CONFIG_CONSOLE_TRUETYPE_RUFSCRIPT', >>>> 'CONFIG_XILINX_MICROBLAZE0_HW_VER', 'CONFIG_CONSOLE_TRUETYPE_ANKACODER', >>>> 'CONFIG_RTC_M41T60', 'CONFIG_CMD_ZIP', 'CONFIG_USB_SUPPORT', >>>> 'CONFIG_SPI_FLASH_SUPPORT', 'CONFIG_FLASH_PIC32', 'CONFIG_SAVEENV', >>>> 'CONFIG_FPGA_STRATIX_II', 'CONFIG_TEE', 'CONFIG_PIC32_SPI', >>>> 'CONFIG_FAT_SUPPORT', 'CONFIG_SERIAL_SUPPORT', 'CONFIG_RTC_DS174x', >>>> 'CONFIG_RTC_RS5C372A', 'CONFIG_DM_DEBUG', 'CONFIG_DISPLAY_ROCKCHIP_LVDS', >>>> 'CONFIG_CMD_ZYNQ_RSA', 'CONFIG_VEXPRESS_CONFIG', 'CONFIG_SPI_SUPPORT', >>>> 'CONFIG_POWER_BATTERY_TRATS2', 'CONFIG_CS8900', >>>> 'CONFIG_DRIVERS_MISC_SUPPORT', 'CONFIG_YMODEM_SUPPORT', >>>> 'CONFIG_MPC83XX_SERDES', 'CONFIG_NAND_KB9202', 'CONFIG_PL022_SPI', >>>> 'CONFIG_RTC_PCF2127', 'CONFIG_ARMV8_PSCI', 'CONFIG_KALLSYMS', >>>> 'CONFIG_LAN91C96', 'CONFIG_SHELL', 'CONFIG_SOC_DM646X', >>>> 'CONFIG_HASH_SUPPORT', 'CONFIG_ARMADA_39X', 'CONFIG_CMD_STRINGS', >>>> 'CONFIG_ARCH_RV32I', 'CONFIG_RTC_M48T35A', 'CONFIG_DATAFLASH_MMC_SELECT', >>>> 'CONFIG_UPDATE_TFTP', 'CONFIG_CPU_SA1100', 'CONFIG_NAND_PLAT', >>>> 'CONFIG_GPIO_SUPPORT', 'CONFIG_RTC_DS1306', 'CONFIG_LOG_TEST', >>>> 'CONFIG_IHS_AXI', 'CONFIG_XWAY_SWAP_BYTES', 'CONFIG_CPU_SH4', >>>> 'CONFIG_RTC_MAX6900', 'CONFIG_TEGRA210_QSPI', 'CONFIG_SYS_I2C_VERSATILE', >>>> 'CONFIG_PCI_SUPPORT', 'CONFIG_SPI_LOAD', 'CONFIG_NAND_FSL_UPM', >>>> 'CONFIG_RTC_DS1556', 'CONFIG_DRIVER_AX88180', 'CONFIG_E1000_SPI', >>>> 'CONFIG_ONENAND_U_BOOT', 'CONFIG_CMD_TERMINAL', 'CONFIG_MODULES', >>>> 'CONFIG_ONENAND_SUPPORT', 'CONFIG_SH_SDHI', >>>> 'CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED', 'CONFIG_BUILD', >>>> 'CONFIG_VIDEO_ARM_MALIDP', 'CONFIG_POWER_BATTERY_TRATS', >>>> 'CONFIG_DRIVER_SMC911X', 'CONFIG_UBI', 'CONFIG_MMC_SDHCI_SPEAR', >>>> 'CONFIG_USB_OHCI_DA8XX', 'CONFIG_UDP_FUNCTION_FASTBOOT', >>>> 'CONFIG_EXT_SUPPORT', 'CONFIG_USB_EHCI_FARADAY', 'CONFIG_TARGET_AXS103', >>>> 'CONFIG_PHY_MSCC', 'CONFIG_FTPCI100', 'CONFIG_PCIE_INTEL_FPGA', 'CONFIG_IO', >>>> 'CONFIG_SECURED_MODE_CSK_INDEX', 'CONFIG_SYSRESET_MCP83XX', >>>> 'CONFIG_BOOTROM_SUPPORT', 'CONFIG_POWER_MUIC_MAX77693', >>>> 'CONFIG_MMC_SUPPORT', 'CONFIG_LOGICORE_DP_TX', 'CONFIG_GDSYS_IOEP', >>>> 'CONFIG_XILINX_MICROBLAZE0_USE_PCMP_INSTR', 'CONFIG_RMOBILE', >>>> 'CONFIG_CMD_AES', 'CONFIG_RTC_S3C24X0', 'CONFIG_NATSEMI', 'CONFIG_NS87308', >>>> 'CONFIG_CBMEM_CONSOLE', 'CONFIG_MARUBUN_PCCARD', 'CONFIG_XILINX_SPI', >>>> 'CONFIG_FS_LOADER', 'CONFIG_YAFFS2', 'CONFIG_DM644X_GPIO', >>>> 'CONFIG_SOC_DM365', 'CONFIG_ARC_TIMER', 'CONFIG_POWER_MAX8998', >>>> 'CONFIG_CMD_FDC', 'CONFIG_RTC_RV3029', 'CONFIG_RTC_AT91SAM9_RTT', >>>> 'CONFIG_EXYNOS_PWM_BL', 'CONFIG_CLK_MPC83XX', 'CONFIG_RTC_DS1302', >>>> 'CONFIG_TPM_TIS_SANDBOX', 'CONFIG_MPC83XX_TIMER', 'CONFIG_ICS8N3QV01', >>>> 'CONFIG_ARCH_P1011', 'CONFIG_I2C_SUPPORT', 'CONFIG_GDSYS_RXAUI_CTRL', >>>> 'CONFIG_POWER_FG_MAX77693', 'CONFIG_PINCTRL_QCA953x', 'CONFIG_CMD_SHA1SUM', >>>> 'CONFIG_RTC_DAVINCI', 'CONFIG_NET_SUPPORT', 'CONFIG_FPGA_LATTICE', >>>> 'CONFIG_RTC_M41T94', 'CONFIG_MPC8XX_SPI', 'CONFIG_LPC32XX_HSUART', >>>> 'CONFIG_CMD_YAFFS2', 'CONFIG_W1_EEPROM_DS2502', 'CONFIG_VIDEO_MX3', >>>> 'CONFIG_UT_UNICODE', 'CONFIG_RTC_MX27', 'CONFIG_LIBAVB', >>>> 'CONFIG_RTC_DS164x', 'CONFIG_CMD_HVC', 'CONFIG_CPU_V7', >>>> 'CONFIG_FPGA_VIRTEX2', 'CONFIG_POWER_MAX8997', >>>> 'CONFIG_MVEBU_SPL_BOOT_DEVICE_UART', 'CONFIG_ETH_SANDBOX', >>>> 'CONFIG_DEBUG_LL', 'CONFIG_MCR3000', 'CONFIG_USB_EHCI_RMOBILE', >>>> 'CONFIG_DB8500_GPIO', 'CONFIG_SECURED_MODE_IMAGE', 'CONFIG_CMD_TRACE', >>>> 'CONFIG_AVB_VERIFY', 'CONFIG_NULLDEV_SERIAL', 'CONFIG_CMD_INI', >>>> 'CONFIG_VIRTIO_SANDBOX', 'CONFIG_MACH_DAVINCI_DA830_EVM', >>>> 'CONFIG_USB_ETHER_LAN75XX', 'CONFIG_SUN4I_SPI', 'CONFIG_CMD_BINOP', >>>> 'CONFIG_RTC_SUPPORT', 'CONFIG_USB_DA8XX', 'CONFIG_SOC_DM644X', >>>> 'CONFIG_ALTERA_SPI', 'CONFIG_SYS_FPGA_COMMON', 'CONFIG_TOOLS_DEBUG', >>>> 'CONFIG_USB_GADGET_FOTG210', 'CONFIG_RTC_X1205', 'CONFIG_FPGA_SPARTAN2', >>>> 'CONFIG_CMD_MFSL', 'CONFIG_RISCV_ISA_C'] >>> I suspect this splits into three categories: >>> - Dead symbols and code to drop. >>> - Typos/thinkos >>> - Mistake in your grep? I see CONFIG_VIRTIO_SANDBOX is used today for >>> example. >> Oh yes. the code is far from perfect. this is a list of 'suspects'. It could >> be made more accurate but I would have to download a ton of toolchains to >> produce the exact configuration file for every board. So the script is >> taking shortcuts and only give suspects. >> >> It also indicates non existing variable like CONFIG_SERIAL_SUPPORT because >> CONFIG_SPL_SERIAL_SUPPORT does exist. >> >> So this list must be taken with (big) grain of salt. > I suspect there's enough false positives in there to make it problematic > to find the really bad symbols. To get all of the toolchains: > $ for A in aarch64 arm m68k microblaze mips powerpc riscv64 sh2 i386; do \ > ./tools/buildman/buildman --fetch-arch $A;done I've been trying to use the nds32 toolchain but get a lot of errors. I saw the discussion thread you started on 04/23/2018 "[U-Boot] NDS32 toolchain?". Even with the toolchains cited in the thread, it doesn't work. Rick, Can you point to a working toolchain ? Thanks JJ > and then add this to ~/.buildman: > [toolchain-alias] > sh = sh2 > x86 = i386 > riscv = riscv64 > > Thanks! > ^ permalink raw reply [flat|nested] 11+ messages in thread
[parent not found: <752D002CFF5D0F4FA35C0100F1D73F3FA3A5E60E@ATCPCS16.andestech.com>]
* [U-Boot] policy regarding unused code [not found] ` <752D002CFF5D0F4FA35C0100F1D73F3FA3A5E60E@ATCPCS16.andestech.com> @ 2018-12-13 2:03 ` Rick Chen 0 siblings, 0 replies; 11+ messages in thread From: Rick Chen @ 2018-12-13 2:03 UTC (permalink / raw) To: u-boot > > From: Jean-Jacques Hiblot [mailto:jjhiblot at ti.com] > > Sent: Wednesday, December 12, 2018 8:00 PM > > To: Tom Rini > > Cc: U-Boot; Rick Jian-Zhi Chen(陳建志) > > Subject: Re: [U-Boot] policy regarding unused code > > > > Tom, Rick, > > > > On 11/12/2018 19:17, Tom Rini wrote: > > > On Tue, Dec 11, 2018 at 06:01:23PM +0100, Jean-Jacques Hiblot wrote: > > >> On 11/12/2018 17:35, Tom Rini wrote: > > >>> On Tue, Dec 11, 2018 at 04:46:01PM +0100, Jean-Jacques Hiblot wrote: > > >>>> On 11/12/2018 16:25, Jean-Jacques Hiblot wrote: > > >>>>> Hi Tom, > > >>>>> > > >>>>> Is there such a policy described somewhere ? > > >>>>> > > >>>>> There are quite a pieces of code that are not used/compiled > > >>>>> because no config enables it. > > >>>>> > > >>>>> A random pick among many others: > > >>>>> > > >>>>> - CONFIG_FPGA_LATTICE > > >>>>> > > >>>>> - CONFIG_MESON_SPIFC > > >>>>> > > >>>>> - CONFIG_POWER_BATTERY_TRATS2 > > >>>>> > > >>>>> - CONFIG_UPDATE_TFTP > > >>>>> > > >>>>> > > >>>> Here a more complete list of suspects (there may be options that do > > >>>> not even > > >>>> exist) > > >>>> > > >>>> Suspect means that the variable is probably referenced in a > > >>>> Makefile but not in configs/ nor in include/configs > > >>>> > > >>>> This is not a small list and a lot of them we probably want to keep. > > >>>> > > >>>> ['CONFIG_MX8M', 'CONFIG_POWER_PMIC_MAX77693', > > >>>> 'CONFIG_TPM2_TIS_SANDBOX', 'CONFIG_TPM_ST33ZP24_SPI', > > >>>> 'CONFIG_USB_SL811HS', 'CONFIG_RAM_SUPPORT', > > 'CONFIG_BCM2835_WDT', > > >>>> 'CONFIG_ENV_IS_IN_SATA', 'CONFIG_IO64', 'CONFIG_NAND_SUPPORT', > > >>>> 'CONFIG_NOR_SUPPORT', 'CONFIG_RISCV_ISA_A', > > 'CONFIG_I2C_MUX_GPIO', > > >>>> 'CONFIG_POWER_FG_MAX17042', 'CONFIG_DNET', > > >>>> 'CONFIG_CMD_SH_ZIMAGEBOOT', 'CONFIG_USE_DEFAULT_ENV_FILE', > > >>>> 'CONFIG_CMD_IOTRACE', 'CONFIG_ALI152X', 'CONFIG_M5271', > > >>>> 'CONFIG_CPU_MPC83XX', 'CONFIG_NXP_TDA19988', 'CONFIG_IMX', > > >>>> 'CONFIG_ADI_GPIO2', 'CONFIG_BUILD_ENVCRC', 'CONFIG_FTMAC110', > > >>>> 'CONFIG_CMD_CONITRACE', 'CONFIG_USB_DAVINCI', > > >>>> 'CONFIG_TARGET_XTFPGA', 'CONFIG_DLVISION_10G', > > 'CONFIG_CMD_KGDB', > > >>>> 'CONFIG_USB_SDP_SUPPORT', > > 'CONFIG_MESON_GX_VPU_POWER_DOMAIN', > > >>>> 'CONFIG_FSL_DMA', 'CONFIG_IHS_VIDEO_OUT', 'CONFIG_CMD_ZFS', > > >>>> 'CONFIG_P2020DS', 'CONFIG_RTC_DS1388', > > 'CONFIG_POWER_MUIC_MAX8997', > > >>>> 'CONFIG_TPM2_TIS_SPI', 'CONFIG_TEST_FDTDEC', > > >>>> 'CONFIG_AIS_CONFIG_FILE', 'CONFIG_GDSYS_SOC', > > 'CONFIG_CMD_DTIMG', > > >>>> 'CONFIG_DFU_SUPPORT', 'CONFIG_SYS_JFFS2_SORT_FRAGMENTS', > > >>>> 'CONFIG_ATF', 'CONFIG_BLOBLIST', 'CONFIG_NAND_SPEAR', > > >>>> 'CONFIG_MPC8XXX_GPIO', 'CONFIG_ULP_WATCHDOG', > > 'CONFIG_RTC_MK48T59', > > >>>> 'CONFIG_CMD_FITUPD', 'CONFIG_MODVERSIONS', 'CONFIG_CPU_SH3', > > >>>> 'CONFIG_CMD_BEDBUG', 'CONFIG_AT91_USB_CLK', > > 'CONFIG_CMD_UNIVERSE', > > >>>> 'CONFIG_DEBUG_UART_UNIPHIER', 'CONFIG_CMD_DISPLAY', > > >>>> 'CONFIG_ETH_SANDBOX_RAW', 'CONFIG_SANDBOX', 'CONFIG_CPU_SH2', > > >>>> 'CONFIG_SATA_SUPPORT', 'CONFIG_IOCON', 'CONFIG_MESON_SPIFC', > > >>>> 'CONFIG_NS8382X', 'CONFIG_SOC_DM355', > > 'CONFIG_BOARD_GAZERBEAM', > > >>>> 'CONFIG_CMD_AVB', 'CONFIG_MW_EEPROM', > > 'CONFIG_SHA1_CHECK_UB_IMG', > > >>>> 'CONFIG_IHS_FPGA', 'CONFIG_USE_PLUGIN', 'CONFIG_VIDEO_SIMPLE', > > >>>> 'CONFIG_CLK_VEXPRESS_OSC', 'CONFIG_MIPS_TUNE_14KC', > > >>>> 'CONFIG_MPC83XX_SDRAM', 'CONFIG_XIP_SUPPORT', > > >>>> 'CONFIG_MIPS_TUNE_34KC', 'CONFIG_ALTERA_UART', > > 'CONFIG_LOAD_FIT', > > >>>> 'CONFIG_RTC_DS1339', 'CONFIG_ENV_SUPPORT', > > >>>> 'CONFIG_DEFAULT_ENV_FILE', 'CONFIG_TPM_ST33ZP24_I2C', > > >>>> 'CONFIG_PCH_SUPPORT', 'CONFIG_UBOOT_PAD_TO', 'CONFIG_LYNXKDI', > > >>>> 'CONFIG_CMD_SMC', 'CONFIG_BOOTCOUNT_AT91', > > 'CONFIG_OF_PLATDATA', > > >>>> 'CONFIG_CONSOLE_TRUETYPE_NIMBUS', 'CONFIG_S6E8AX0', > > >>>> 'CONFIG_FPGA_ACEX1K', 'CONFIG_MVEBU_EFUSE', > > >>>> 'CONFIG_CONSOLE_TRUETYPE_RUFSCRIPT', > > >>>> 'CONFIG_XILINX_MICROBLAZE0_HW_VER', > > >>>> 'CONFIG_CONSOLE_TRUETYPE_ANKACODER', > > >>>> 'CONFIG_RTC_M41T60', 'CONFIG_CMD_ZIP', 'CONFIG_USB_SUPPORT', > > >>>> 'CONFIG_SPI_FLASH_SUPPORT', 'CONFIG_FLASH_PIC32', > > 'CONFIG_SAVEENV', > > >>>> 'CONFIG_FPGA_STRATIX_II', 'CONFIG_TEE', 'CONFIG_PIC32_SPI', > > >>>> 'CONFIG_FAT_SUPPORT', 'CONFIG_SERIAL_SUPPORT', > > 'CONFIG_RTC_DS174x', > > >>>> 'CONFIG_RTC_RS5C372A', 'CONFIG_DM_DEBUG', > > >>>> 'CONFIG_DISPLAY_ROCKCHIP_LVDS', 'CONFIG_CMD_ZYNQ_RSA', > > >>>> 'CONFIG_VEXPRESS_CONFIG', 'CONFIG_SPI_SUPPORT', > > >>>> 'CONFIG_POWER_BATTERY_TRATS2', 'CONFIG_CS8900', > > >>>> 'CONFIG_DRIVERS_MISC_SUPPORT', 'CONFIG_YMODEM_SUPPORT', > > >>>> 'CONFIG_MPC83XX_SERDES', 'CONFIG_NAND_KB9202', > > 'CONFIG_PL022_SPI', > > >>>> 'CONFIG_RTC_PCF2127', 'CONFIG_ARMV8_PSCI', 'CONFIG_KALLSYMS', > > >>>> 'CONFIG_LAN91C96', 'CONFIG_SHELL', 'CONFIG_SOC_DM646X', > > >>>> 'CONFIG_HASH_SUPPORT', 'CONFIG_ARMADA_39X', > > 'CONFIG_CMD_STRINGS', > > >>>> 'CONFIG_ARCH_RV32I', 'CONFIG_RTC_M48T35A', > > >>>> 'CONFIG_DATAFLASH_MMC_SELECT', 'CONFIG_UPDATE_TFTP', > > >>>> 'CONFIG_CPU_SA1100', 'CONFIG_NAND_PLAT', 'CONFIG_GPIO_SUPPORT', > > >>>> 'CONFIG_RTC_DS1306', 'CONFIG_LOG_TEST', 'CONFIG_IHS_AXI', > > >>>> 'CONFIG_XWAY_SWAP_BYTES', 'CONFIG_CPU_SH4', > > 'CONFIG_RTC_MAX6900', > > >>>> 'CONFIG_TEGRA210_QSPI', 'CONFIG_SYS_I2C_VERSATILE', > > >>>> 'CONFIG_PCI_SUPPORT', 'CONFIG_SPI_LOAD', 'CONFIG_NAND_FSL_UPM', > > >>>> 'CONFIG_RTC_DS1556', 'CONFIG_DRIVER_AX88180', 'CONFIG_E1000_SPI', > > >>>> 'CONFIG_ONENAND_U_BOOT', 'CONFIG_CMD_TERMINAL', > > 'CONFIG_MODULES', > > >>>> 'CONFIG_ONENAND_SUPPORT', 'CONFIG_SH_SDHI', > > >>>> 'CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED', 'CONFIG_BUILD', > > >>>> 'CONFIG_VIDEO_ARM_MALIDP', 'CONFIG_POWER_BATTERY_TRATS', > > >>>> 'CONFIG_DRIVER_SMC911X', 'CONFIG_UBI', > > 'CONFIG_MMC_SDHCI_SPEAR', > > >>>> 'CONFIG_USB_OHCI_DA8XX', 'CONFIG_UDP_FUNCTION_FASTBOOT', > > >>>> 'CONFIG_EXT_SUPPORT', 'CONFIG_USB_EHCI_FARADAY', > > >>>> 'CONFIG_TARGET_AXS103', 'CONFIG_PHY_MSCC', 'CONFIG_FTPCI100', > > >>>> 'CONFIG_PCIE_INTEL_FPGA', 'CONFIG_IO', > > >>>> 'CONFIG_SECURED_MODE_CSK_INDEX', 'CONFIG_SYSRESET_MCP83XX', > > >>>> 'CONFIG_BOOTROM_SUPPORT', 'CONFIG_POWER_MUIC_MAX77693', > > >>>> 'CONFIG_MMC_SUPPORT', 'CONFIG_LOGICORE_DP_TX', > > 'CONFIG_GDSYS_IOEP', > > >>>> 'CONFIG_XILINX_MICROBLAZE0_USE_PCMP_INSTR', 'CONFIG_RMOBILE', > > >>>> 'CONFIG_CMD_AES', 'CONFIG_RTC_S3C24X0', 'CONFIG_NATSEMI', > > >>>> 'CONFIG_NS87308', 'CONFIG_CBMEM_CONSOLE', > > 'CONFIG_MARUBUN_PCCARD', > > >>>> 'CONFIG_XILINX_SPI', 'CONFIG_FS_LOADER', 'CONFIG_YAFFS2', > > >>>> 'CONFIG_DM644X_GPIO', 'CONFIG_SOC_DM365', 'CONFIG_ARC_TIMER', > > >>>> 'CONFIG_POWER_MAX8998', 'CONFIG_CMD_FDC', > > 'CONFIG_RTC_RV3029', > > >>>> 'CONFIG_RTC_AT91SAM9_RTT', 'CONFIG_EXYNOS_PWM_BL', > > >>>> 'CONFIG_CLK_MPC83XX', 'CONFIG_RTC_DS1302', > > >>>> 'CONFIG_TPM_TIS_SANDBOX', 'CONFIG_MPC83XX_TIMER', > > >>>> 'CONFIG_ICS8N3QV01', 'CONFIG_ARCH_P1011', 'CONFIG_I2C_SUPPORT', > > >>>> 'CONFIG_GDSYS_RXAUI_CTRL', 'CONFIG_POWER_FG_MAX77693', > > >>>> 'CONFIG_PINCTRL_QCA953x', 'CONFIG_CMD_SHA1SUM', > > >>>> 'CONFIG_RTC_DAVINCI', 'CONFIG_NET_SUPPORT', > > 'CONFIG_FPGA_LATTICE', > > >>>> 'CONFIG_RTC_M41T94', 'CONFIG_MPC8XX_SPI', > > 'CONFIG_LPC32XX_HSUART', > > >>>> 'CONFIG_CMD_YAFFS2', 'CONFIG_W1_EEPROM_DS2502', > > 'CONFIG_VIDEO_MX3', > > >>>> 'CONFIG_UT_UNICODE', 'CONFIG_RTC_MX27', 'CONFIG_LIBAVB', > > >>>> 'CONFIG_RTC_DS164x', 'CONFIG_CMD_HVC', 'CONFIG_CPU_V7', > > >>>> 'CONFIG_FPGA_VIRTEX2', 'CONFIG_POWER_MAX8997', > > >>>> 'CONFIG_MVEBU_SPL_BOOT_DEVICE_UART', 'CONFIG_ETH_SANDBOX', > > >>>> 'CONFIG_DEBUG_LL', 'CONFIG_MCR3000', 'CONFIG_USB_EHCI_RMOBILE', > > >>>> 'CONFIG_DB8500_GPIO', 'CONFIG_SECURED_MODE_IMAGE', > > >>>> 'CONFIG_CMD_TRACE', 'CONFIG_AVB_VERIFY', > > 'CONFIG_NULLDEV_SERIAL', > > >>>> 'CONFIG_CMD_INI', 'CONFIG_VIRTIO_SANDBOX', > > >>>> 'CONFIG_MACH_DAVINCI_DA830_EVM', 'CONFIG_USB_ETHER_LAN75XX', > > >>>> 'CONFIG_SUN4I_SPI', 'CONFIG_CMD_BINOP', 'CONFIG_RTC_SUPPORT', > > >>>> 'CONFIG_USB_DA8XX', 'CONFIG_SOC_DM644X', 'CONFIG_ALTERA_SPI', > > >>>> 'CONFIG_SYS_FPGA_COMMON', 'CONFIG_TOOLS_DEBUG', > > >>>> 'CONFIG_USB_GADGET_FOTG210', 'CONFIG_RTC_X1205', > > >>>> 'CONFIG_FPGA_SPARTAN2', 'CONFIG_CMD_MFSL', 'CONFIG_RISCV_ISA_C'] > > >>> I suspect this splits into three categories: > > >>> - Dead symbols and code to drop. > > >>> - Typos/thinkos > > >>> - Mistake in your grep? I see CONFIG_VIRTIO_SANDBOX is used today for > > >>> example. > > >> Oh yes. the code is far from perfect. this is a list of 'suspects'. > > >> It could be made more accurate but I would have to download a ton of > > >> toolchains to produce the exact configuration file for every board. > > >> So the script is taking shortcuts and only give suspects. > > >> > > >> It also indicates non existing variable like CONFIG_SERIAL_SUPPORT > > >> because CONFIG_SPL_SERIAL_SUPPORT does exist. > > >> > > >> So this list must be taken with (big) grain of salt. > > > I suspect there's enough false positives in there to make it > > > problematic to find the really bad symbols. To get all of the toolchains: > > > $ for A in aarch64 arm m68k microblaze mips powerpc riscv64 sh2 i386; > > > do \ ./tools/buildman/buildman --fetch-arch $A;done > > > > I've been trying to use the nds32 toolchain but get a lot of errors. > > > > I saw the discussion thread you started on 04/23/2018 "[U-Boot] NDS32 > > toolchain?". Even with the toolchains cited in the thread, it doesn't work. > > > > Rick, > > > > Can you point to a working toolchain ? > > Hi JJ You can get nds32 toolchain as below https://github.com/vincentzwc/prebuilt-nds32-toolchain/releases/download/20180521/nds32le-linux-glibc-v3-upstream.tar.gz I have verified and it can compile pass. But it need some fix that -GO shall be removed: arch/nds32/config.mk -PLATFORM_CPPFLAGS += -D__nds32__ -G0 -ffixed-10 -fpie +PLATFORM_CPPFLAGS += -D__nds32__ -ffixed-10 -fpie I will send a patch to fix it later. The path have been changed since then when I inform Tom to get it in the middle of the period, but I don't know. I am sorry about that. Thanks Rick > > Thanks > > > > JJ > > > > ^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot] policy regarding unused code 2018-12-11 16:35 ` Tom Rini 2018-12-11 17:01 ` Jean-Jacques Hiblot @ 2018-12-11 19:24 ` Robert P. J. Day 2018-12-12 15:17 ` Jean-Jacques Hiblot 1 sibling, 1 reply; 11+ messages in thread From: Robert P. J. Day @ 2018-12-11 19:24 UTC (permalink / raw) To: u-boot On Tue, 11 Dec 2018, Tom Rini wrote: ... snip ... > > This is not a small list and a lot of them we probably want to keep. > > > > ['CONFIG_MX8M', 'CONFIG_POWER_PMIC_MAX77693', 'CONFIG_TPM2_TIS_SANDBOX', > > 'CONFIG_TPM_ST33ZP24_SPI', 'CONFIG_USB_SL811HS', 'CONFIG_RAM_SUPPORT', > > 'CONFIG_BCM2835_WDT', 'CONFIG_ENV_IS_IN_SATA', 'CONFIG_IO64', > > 'CONFIG_NAND_SUPPORT', 'CONFIG_NOR_SUPPORT', 'CONFIG_RISCV_ISA_A', > > 'CONFIG_I2C_MUX_GPIO', 'CONFIG_POWER_FG_MAX17042', 'CONFIG_DNET', > > 'CONFIG_CMD_SH_ZIMAGEBOOT', 'CONFIG_USE_DEFAULT_ENV_FILE', > > 'CONFIG_CMD_IOTRACE', 'CONFIG_ALI152X', 'CONFIG_M5271', > > 'CONFIG_CPU_MPC83XX', 'CONFIG_NXP_TDA19988', 'CONFIG_IMX', ... big snip ... > I suspect this splits into three categories: > - Dead symbols and code to drop. > - Typos/thinkos > - Mistake in your grep? I see CONFIG_VIRTIO_SANDBOX is used today for > example. what did you run to get that list of CONFIG_* symbols? years ago, i wrote some scripts that scanned the linux source tree looking for things like that; i just dragged that script out of mothballs and ran it against the current u-boot tree and got over 4,500 lines of output, but my script lists apparently unused CONFIG variables, then does a recursive search against a given directory to show anywhere that symbol shows up, a symbol at a time. for example, my script for "badref" goes looking for CONFIG settings that are being tested somewhere but that have no corresponding "config" stanza in a Kconfig file somewhere. $ find_badref_configs.sh drivers the first few lines of output: >>>>> ACX517AKN drivers/video/pxa_lcd.c:201:#ifdef CONFIG_ACX517AKN drivers/video/pxa_lcd.c:231:#endif /* CONFIG_ACX517AKN */ drivers/video/pxa_lcd.c:297:#endif /* CONFIG_ACX517AKN */ scripts/config_whitelist.txt:15:CONFIG_ACX517AKN >>>>> ACX544AKN drivers/video/pxa_lcd.c:233:#ifdef CONFIG_ACX544AKN drivers/video/pxa_lcd.c:263:#endif /* CONFIG_ACX544AKN */ scripts/config_whitelist.txt:16:CONFIG_ACX544AKN >>>>> ADNPESC1 drivers/net/smc91111.h:253:#ifdef CONFIG_ADNPESC1 drivers/net/smc91111.h:262:#ifdef CONFIG_ADNPESC1 drivers/net/smc91111.h:444:#elif defined(CONFIG_ADNPESC1) scripts/config_whitelist.txt:20:CONFIG_ADNPESC1 ... snip ... as you can see, that shows that there is a CONFIG_ACX517AKN being tested, while there is no apparent "config" definition for it anywhere (not sure whether being in the whitelist.txt file means anything relative to that). and so on, and so on. i can see the OP's FPGA_LATTICE in my output: >>>>> FPGA_LATTICE drivers/fpga/Makefile:13:obj-$(CONFIG_FPGA_LATTICE) += ivm_core.o lattice.o drivers/fpga/fpga.c:103:#if defined(CONFIG_FPGA_LATTICE) drivers/fpga/fpga.c:276:#if defined(CONFIG_FPGA_LATTICE) drivers/fpga/fpga.c:318:#if defined(CONFIG_FPGA_LATTICE) which is clearly being tested, while never being defined. so, yes, my script locates a *ton* of variables like that. rday -- ======================================================================== Robert P. J. Day Ottawa, Ontario, CANADA http://crashcourse.ca/dokuwiki Twitter: http://twitter.com/rpjday LinkedIn: http://ca.linkedin.com/in/rpjday ======================================================================== ^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot] policy regarding unused code 2018-12-11 19:24 ` Robert P. J. Day @ 2018-12-12 15:17 ` Jean-Jacques Hiblot 0 siblings, 0 replies; 11+ messages in thread From: Jean-Jacques Hiblot @ 2018-12-12 15:17 UTC (permalink / raw) To: u-boot >> I suspect this splits into three categories: >> - Dead symbols and code to drop. >> - Typos/thinkos >> - Mistake in your grep? I see CONFIG_VIRTIO_SANDBOX is used today for >> example. > what did you run to get that list of CONFIG_* symbols? years ago, i This is small python script that I wrote (see code below). What it does (roughly): - scan all Makefile and*.mk file to create a set of variables starting with CONFIG_ - create the set of all used CONFIG_* variables by scanning moveconfig.db. This can be created with tools/moveconfig.py -b. (you need patch 'tools: moveconfig: Add an option to build a fuller database of options'). - subtract set#2 from set#1 JJ From: Jean-Jacques Hiblot <jjhiblot@ti.com> Date: Wed, 12 Dec 2018 16:15:21 +0100 Subject: [PATCH] simple tool to find unused options Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com> --- tools/find_unused_config_options.py | 78 +++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100755 tools/find_unused_config_options.py diff --git a/tools/find_unused_config_options.py b/tools/find_unused_config_options.py new file mode 100755 index 0000000..85c859a --- /dev/null +++ b/tools/find_unused_config_options.py @@ -0,0 +1,78 @@ +#! /usr/bin/env python + +import re +import os + +def get_var_from_moveconfig_db(): + options = set() + search = re.compile("\s*CONFIG_([^=]*)=.*") + with open("moveconfig.db", "r") as f: + for l in f.readlines(): + m = search.match(l) + if m: + options.add(m.group(1)) + return options + +def get_makefiles(start): + Makefiles = [] + for (dirpath, dirnames, filenames) in os.walk(start): + Makefiles.extend([ os.path.join(dirpath,f) for f in filenames if f == "Makefile" or f.endswith(".mk")]) + return Makefiles + +def get_C_files(start): + c_files = [] + for (dirpath, dirnames, filenames) in os.walk(start): + Makefiles.extend([ os.path.join(dirpath,f) for f in filenames if f.endswith(".c") or f.endswith(".h")]) + return c_files + +def get_CONFIG_var_from_Makefile(makefile): + simple_options = set() + spl_tpl_options = set() + + search = re.compile("\$\(CONFIG_(.*)\)") + with open(makefile, "r") as f: + for l in f.readlines(): + m = search.search(l) + if m: + option = m.group(1) + s = set() + if option.startswith("$(SPL_)"): + s.add(option.replace("$(SPL_)","")) + s.add(option.replace("$(SPL_)","SPL_")) + elif option.startswith("$(SPL_TPL_)"): + s.add(option.replace("$(SPL_TPL_)","")) + s.add(option.replace("$(SPL_TPL_)","SPL_")) + s.add(option.replace("$(SPL_TPL_)","TPL_")) + else: + simple_options.add(option.split(')')[0].split(':')[0]) + for opt in s: + spl_tpl_options.add(opt.split(')')[0].split(':')[0]) + + return simple_options, spl_tpl_options + + +makefiles = get_makefiles('./') +simple_options = set() +spl_tpl_options = set() +for f in makefiles: + a, b = get_CONFIG_var_from_Makefile(f) + simple_options |= a + spl_tpl_options |= b + +var_in_makefiles = simple_options +# add the SPL_TPL variables (but filter out those that are never referenced in the code) +for option in spl_tpl_options: + ### filter out variable that are not reference at all + if os.system("git grep 'CONFIG_{}' > /dev/null".format(option)) == 0: + var_in_makefiles.add(option) + +var_in_cfg = get_var_from_moveconfig_db() + +whitelist = set(["SPL_BUILD","TPL_BUILD", "SHELL"]) +suspects = var_in_makefiles - var_in_cfg - whitelist + +print(" -----------------------") +print ("used in makefile but NOT referenced in defconfigs") +for option in suspects: + print('CONFIG_'+option) + -- 2.7.4 > ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [U-Boot] policy regarding unused code 2018-12-11 15:46 ` Jean-Jacques Hiblot 2018-12-11 16:35 ` Tom Rini @ 2018-12-11 22:44 ` Lukasz Majewski 2018-12-14 15:54 ` Neil Armstrong 2 siblings, 0 replies; 11+ messages in thread From: Lukasz Majewski @ 2018-12-11 22:44 UTC (permalink / raw) To: u-boot On Tue, 11 Dec 2018 16:46:01 +0100 Jean-Jacques Hiblot <jjhiblot@ti.com> wrote: > On 11/12/2018 16:25, Jean-Jacques Hiblot wrote: > > Hi Tom, > > > > Is there such a policy described somewhere ? > > > > There are quite a pieces of code that are not used/compiled because > > no config enables it. > > > > A random pick among many others: > > > > - CONFIG_FPGA_LATTICE > > > > - CONFIG_MESON_SPIFC > > > > - CONFIG_POWER_BATTERY_TRATS2 > > > > - CONFIG_UPDATE_TFTP > > > > > Here a more complete list of suspects (there may be options that do > not even exist) > > Suspect means that the variable is probably referenced in a Makefile > but not in configs/ nor in include/configs > > This is not a small list and a lot of them we probably want to keep. > > ['CONFIG_MX8M', 'CONFIG_POWER_PMIC_MAX77693', ^^^^ Samsung PMIC [1] > 'CONFIG_TPM2_TIS_SANDBOX', 'CONFIG_TPM_ST33ZP24_SPI', > 'CONFIG_USB_SL811HS', 'CONFIG_RAM_SUPPORT', 'CONFIG_BCM2835_WDT', > 'CONFIG_ENV_IS_IN_SATA', 'CONFIG_IO64', 'CONFIG_NAND_SUPPORT', > 'CONFIG_NOR_SUPPORT', 'CONFIG_RISCV_ISA_A', 'CONFIG_I2C_MUX_GPIO', ^^^ Samsung - trats IIRC [1] > 'CONFIG_POWER_FG_MAX17042', 'CONFIG_DNET', ^^^^^ [1] > 'CONFIG_CMD_SH_ZIMAGEBOOT', 'CONFIG_USE_DEFAULT_ENV_FILE', > 'CONFIG_CMD_IOTRACE', 'CONFIG_ALI152X', 'CONFIG_M5271', > 'CONFIG_CPU_MPC83XX', 'CONFIG_NXP_TDA19988', 'CONFIG_IMX', > 'CONFIG_ADI_GPIO2', 'CONFIG_BUILD_ENVCRC', 'CONFIG_FTMAC110', > 'CONFIG_CMD_CONITRACE', 'CONFIG_USB_DAVINCI', 'CONFIG_TARGET_XTFPGA', > 'CONFIG_DLVISION_10G', 'CONFIG_CMD_KGDB', 'CONFIG_USB_SDP_SUPPORT', > 'CONFIG_MESON_GX_VPU_POWER_DOMAIN', 'CONFIG_FSL_DMA', > 'CONFIG_IHS_VIDEO_OUT', 'CONFIG_CMD_ZFS', 'CONFIG_P2020DS', > 'CONFIG_RTC_DS1388', 'CONFIG_POWER_MUIC_MAX8997', ^^^ - [1] > 'CONFIG_TPM2_TIS_SPI', 'CONFIG_TEST_FDTDEC', > 'CONFIG_AIS_CONFIG_FILE', 'CONFIG_GDSYS_SOC', 'CONFIG_CMD_DTIMG', > 'CONFIG_DFU_SUPPORT', 'CONFIG_SYS_JFFS2_SORT_FRAGMENTS', ^^^^ - This is used widely2 > 'CONFIG_ATF', 'CONFIG_BLOBLIST', 'CONFIG_NAND_SPEAR', > 'CONFIG_MPC8XXX_GPIO', 'CONFIG_ULP_WATCHDOG', 'CONFIG_RTC_MK48T59', > 'CONFIG_CMD_FITUPD', 'CONFIG_MODVERSIONS', 'CONFIG_CPU_SH3', > 'CONFIG_CMD_BEDBUG', 'CONFIG_AT91_USB_CLK', 'CONFIG_CMD_UNIVERSE', > 'CONFIG_DEBUG_UART_UNIPHIER', 'CONFIG_CMD_DISPLAY', > 'CONFIG_ETH_SANDBOX_RAW', 'CONFIG_SANDBOX', 'CONFIG_CPU_SH2', > 'CONFIG_SATA_SUPPORT', 'CONFIG_IOCON', 'CONFIG_MESON_SPIFC', > 'CONFIG_NS8382X', 'CONFIG_SOC_DM355', 'CONFIG_BOARD_GAZERBEAM', > 'CONFIG_CMD_AVB', 'CONFIG_MW_EEPROM', 'CONFIG_SHA1_CHECK_UB_IMG', > 'CONFIG_IHS_FPGA', 'CONFIG_USE_PLUGIN', 'CONFIG_VIDEO_SIMPLE', > 'CONFIG_CLK_VEXPRESS_OSC', 'CONFIG_MIPS_TUNE_14KC', > 'CONFIG_MPC83XX_SDRAM', 'CONFIG_XIP_SUPPORT', > 'CONFIG_MIPS_TUNE_34KC', 'CONFIG_ALTERA_UART', 'CONFIG_LOAD_FIT', > 'CONFIG_RTC_DS1339', 'CONFIG_ENV_SUPPORT', 'CONFIG_DEFAULT_ENV_FILE', > 'CONFIG_TPM_ST33ZP24_I2C', 'CONFIG_PCH_SUPPORT', > 'CONFIG_UBOOT_PAD_TO', 'CONFIG_LYNXKDI', 'CONFIG_CMD_SMC', > 'CONFIG_BOOTCOUNT_AT91', 'CONFIG_OF_PLATDATA', > 'CONFIG_CONSOLE_TRUETYPE_NIMBUS', 'CONFIG_S6E8AX0', > 'CONFIG_FPGA_ACEX1K', 'CONFIG_MVEBU_EFUSE', > 'CONFIG_CONSOLE_TRUETYPE_RUFSCRIPT', > 'CONFIG_XILINX_MICROBLAZE0_HW_VER', > 'CONFIG_CONSOLE_TRUETYPE_ANKACODER', 'CONFIG_RTC_M41T60', > 'CONFIG_CMD_ZIP', 'CONFIG_USB_SUPPORT', 'CONFIG_SPI_FLASH_SUPPORT', > 'CONFIG_FLASH_PIC32', 'CONFIG_SAVEENV', 'CONFIG_FPGA_STRATIX_II', > 'CONFIG_TEE', 'CONFIG_PIC32_SPI', 'CONFIG_FAT_SUPPORT', > 'CONFIG_SERIAL_SUPPORT', 'CONFIG_RTC_DS174x', 'CONFIG_RTC_RS5C372A', > 'CONFIG_DM_DEBUG', 'CONFIG_DISPLAY_ROCKCHIP_LVDS', > 'CONFIG_CMD_ZYNQ_RSA', 'CONFIG_VEXPRESS_CONFIG', > 'CONFIG_SPI_SUPPORT', 'CONFIG_POWER_BATTERY_TRATS2', 'CONFIG_CS8900', > 'CONFIG_DRIVERS_MISC_SUPPORT', 'CONFIG_YMODEM_SUPPORT', > 'CONFIG_MPC83XX_SERDES', 'CONFIG_NAND_KB9202', 'CONFIG_PL022_SPI', > 'CONFIG_RTC_PCF2127', 'CONFIG_ARMV8_PSCI', 'CONFIG_KALLSYMS', > 'CONFIG_LAN91C96', 'CONFIG_SHELL', 'CONFIG_SOC_DM646X', > 'CONFIG_HASH_SUPPORT', 'CONFIG_ARMADA_39X', 'CONFIG_CMD_STRINGS', > 'CONFIG_ARCH_RV32I', 'CONFIG_RTC_M48T35A', > 'CONFIG_DATAFLASH_MMC_SELECT', 'CONFIG_UPDATE_TFTP', > 'CONFIG_CPU_SA1100', 'CONFIG_NAND_PLAT', 'CONFIG_GPIO_SUPPORT', > 'CONFIG_RTC_DS1306', 'CONFIG_LOG_TEST', 'CONFIG_IHS_AXI', > 'CONFIG_XWAY_SWAP_BYTES', 'CONFIG_CPU_SH4', 'CONFIG_RTC_MAX6900', > 'CONFIG_TEGRA210_QSPI', 'CONFIG_SYS_I2C_VERSATILE', > 'CONFIG_PCI_SUPPORT', 'CONFIG_SPI_LOAD', 'CONFIG_NAND_FSL_UPM', > 'CONFIG_RTC_DS1556', 'CONFIG_DRIVER_AX88180', 'CONFIG_E1000_SPI', > 'CONFIG_ONENAND_U_BOOT', 'CONFIG_CMD_TERMINAL', 'CONFIG_MODULES', ^^^^ - onenand is used by one Samsung board - Goni. IIRC one other board also uses it - good candidate for removal.... > 'CONFIG_ONENAND_SUPPORT', 'CONFIG_SH_SDHI', > 'CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED', 'CONFIG_BUILD', > 'CONFIG_VIDEO_ARM_MALIDP', 'CONFIG_POWER_BATTERY_TRATS', > 'CONFIG_DRIVER_SMC911X', 'CONFIG_UBI', 'CONFIG_MMC_SDHCI_SPEAR', > 'CONFIG_USB_OHCI_DA8XX', 'CONFIG_UDP_FUNCTION_FASTBOOT', > 'CONFIG_EXT_SUPPORT', 'CONFIG_USB_EHCI_FARADAY', > 'CONFIG_TARGET_AXS103', 'CONFIG_PHY_MSCC', 'CONFIG_FTPCI100', > 'CONFIG_PCIE_INTEL_FPGA', 'CONFIG_IO', > 'CONFIG_SECURED_MODE_CSK_INDEX', 'CONFIG_SYSRESET_MCP83XX', > 'CONFIG_BOOTROM_SUPPORT', 'CONFIG_POWER_MUIC_MAX77693', ^^^^^ [1] > 'CONFIG_MMC_SUPPORT', 'CONFIG_LOGICORE_DP_TX', 'CONFIG_GDSYS_IOEP', > 'CONFIG_XILINX_MICROBLAZE0_USE_PCMP_INSTR', 'CONFIG_RMOBILE', > 'CONFIG_CMD_AES', 'CONFIG_RTC_S3C24X0', 'CONFIG_NATSEMI', > 'CONFIG_NS87308', 'CONFIG_CBMEM_CONSOLE', 'CONFIG_MARUBUN_PCCARD', > 'CONFIG_XILINX_SPI', 'CONFIG_FS_LOADER', 'CONFIG_YAFFS2', Do we have Yaffs2 port in u-boot? :-) > 'CONFIG_DM644X_GPIO', 'CONFIG_SOC_DM365', 'CONFIG_ARC_TIMER', > 'CONFIG_POWER_MAX8998', 'CONFIG_CMD_FDC', 'CONFIG_RTC_RV3029', ^^^^^^ - [1] > 'CONFIG_RTC_AT91SAM9_RTT', 'CONFIG_EXYNOS_PWM_BL', > 'CONFIG_CLK_MPC83XX', 'CONFIG_RTC_DS1302', 'CONFIG_TPM_TIS_SANDBOX', > 'CONFIG_MPC83XX_TIMER', 'CONFIG_ICS8N3QV01', 'CONFIG_ARCH_P1011', > 'CONFIG_I2C_SUPPORT', 'CONFIG_GDSYS_RXAUI_CTRL', > 'CONFIG_POWER_FG_MAX77693', 'CONFIG_PINCTRL_QCA953x', ^^^^^^ - [1] > 'CONFIG_CMD_SHA1SUM', 'CONFIG_RTC_DAVINCI', 'CONFIG_NET_SUPPORT', > 'CONFIG_FPGA_LATTICE', 'CONFIG_RTC_M41T94', 'CONFIG_MPC8XX_SPI', > 'CONFIG_LPC32XX_HSUART', 'CONFIG_CMD_YAFFS2', > 'CONFIG_W1_EEPROM_DS2502', 'CONFIG_VIDEO_MX3', 'CONFIG_UT_UNICODE', > 'CONFIG_RTC_MX27', 'CONFIG_LIBAVB', 'CONFIG_RTC_DS164x', > 'CONFIG_CMD_HVC', 'CONFIG_CPU_V7', 'CONFIG_FPGA_VIRTEX2', > 'CONFIG_POWER_MAX8997', 'CONFIG_MVEBU_SPL_BOOT_DEVICE_UART', ^^^^^^ - [1] > 'CONFIG_ETH_SANDBOX', 'CONFIG_DEBUG_LL', 'CONFIG_MCR3000', > 'CONFIG_USB_EHCI_RMOBILE', 'CONFIG_DB8500_GPIO', > 'CONFIG_SECURED_MODE_IMAGE', 'CONFIG_CMD_TRACE', 'CONFIG_AVB_VERIFY', > 'CONFIG_NULLDEV_SERIAL', 'CONFIG_CMD_INI', 'CONFIG_VIRTIO_SANDBOX', > 'CONFIG_MACH_DAVINCI_DA830_EVM', 'CONFIG_USB_ETHER_LAN75XX', > 'CONFIG_SUN4I_SPI', 'CONFIG_CMD_BINOP', 'CONFIG_RTC_SUPPORT', > 'CONFIG_USB_DA8XX', 'CONFIG_SOC_DM644X', 'CONFIG_ALTERA_SPI', > 'CONFIG_SYS_FPGA_COMMON', 'CONFIG_TOOLS_DEBUG', > 'CONFIG_USB_GADGET_FOTG210', 'CONFIG_RTC_X1205', > 'CONFIG_FPGA_SPARTAN2', 'CONFIG_CMD_MFSL', 'CONFIG_RISCV_ISA_C'] [1] - Those options were added for Samsung boards; trats, trats2, goni, odroid U3/XU3. Mostly are related to old PMIC driver (non DM). However, for Odroids there are uses who use it. For other Samsung boards - I don't know they did not gain much traction as Tizen mobile phones. IMHO - good candidates for removal. > > > JJ > > > > > > > > > > > > _______________________________________________ > > U-Boot mailing list > > U-Boot at lists.denx.de > > https://lists.denx.de/listinfo/u-boot > _______________________________________________ > U-Boot mailing list > U-Boot at lists.denx.de > https://lists.denx.de/listinfo/u-boot Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 488 bytes Desc: OpenPGP digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20181211/33774c87/attachment.sig> ^ permalink raw reply [flat|nested] 11+ messages in thread
* [U-Boot] policy regarding unused code 2018-12-11 15:46 ` Jean-Jacques Hiblot 2018-12-11 16:35 ` Tom Rini 2018-12-11 22:44 ` Lukasz Majewski @ 2018-12-14 15:54 ` Neil Armstrong 2 siblings, 0 replies; 11+ messages in thread From: Neil Armstrong @ 2018-12-14 15:54 UTC (permalink / raw) To: u-boot On 11/12/2018 16:46, Jean-Jacques Hiblot wrote: > > On 11/12/2018 16:25, Jean-Jacques Hiblot wrote: >> Hi Tom, >> >> Is there such a policy described somewhere ? >> >> There are quite a pieces of code that are not used/compiled because no config enables it. >> >> A random pick among many others: >> >> - CONFIG_FPGA_LATTICE >> >> - CONFIG_MESON_SPIFC >> >> - CONFIG_POWER_BATTERY_TRATS2 >> >> - CONFIG_UPDATE_TFTP >> >> > Here a more complete list of suspects (there may be options that do not even exist) > > Suspect means that the variable is probably referenced in a Makefile but not in configs/ nor in include/configs > > This is not a small list and a lot of them we probably want to keep. > > ['CONFIG_MX8M', [...] CONFIG_MESON_GX_VPU_POWER_DOMAIN [...] CONFIG_MESON_SPIFC [...] Usage for these incoming ! Neil 'CONFIG_USB_DA8XX', 'CONFIG_SOC_DM644X', 'CONFIG_ALTERA_SPI', 'CONFIG_SYS_FPGA_COMMON', 'CONFIG_TOOLS_DEBUG', 'CONFIG_USB_GADGET_FOTG210', 'CONFIG_RTC_X1205', 'CONFIG_FPGA_SPARTAN2', 'CONFIG_CMD_MFSL', 'CONFIG_RISCV_ISA_C'] > >> JJ >> >> >> >> >> >> _______________________________________________ >> U-Boot mailing list >> U-Boot at lists.denx.de >> https://lists.denx.de/listinfo/u-boot > _______________________________________________ > U-Boot mailing list > U-Boot at lists.denx.de > https://lists.denx.de/listinfo/u-boot ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2018-12-14 15:54 UTC | newest] Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2018-12-11 15:25 [U-Boot] policy regarding unused code Jean-Jacques Hiblot 2018-12-11 15:46 ` Jean-Jacques Hiblot 2018-12-11 16:35 ` Tom Rini 2018-12-11 17:01 ` Jean-Jacques Hiblot 2018-12-11 18:17 ` Tom Rini 2018-12-12 11:59 ` Jean-Jacques Hiblot [not found] ` <752D002CFF5D0F4FA35C0100F1D73F3FA3A5E60E@ATCPCS16.andestech.com> 2018-12-13 2:03 ` Rick Chen 2018-12-11 19:24 ` Robert P. J. Day 2018-12-12 15:17 ` Jean-Jacques Hiblot 2018-12-11 22:44 ` Lukasz Majewski 2018-12-14 15:54 ` Neil Armstrong
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.