All of lore.kernel.org
 help / color / mirror / Atom feed
* [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 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 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 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

* [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
       [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 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.