[U-Boot] [PATCH v2 0/3] CMD_USB_MASS_STORAGE implies USB_FUNCTION_MASS_STORAGE

Up to now, there's been some ugliness associated with the dependency from CMD_USB_MASS_STORAGE to USB_FUNCTION_MASS_STORAGE: if someone only defined CMD_USB_MASS_STORAGE, they'd meet a linker error due to missing symbols that came from USB_FUNCTION_MASS_STORAGE.
Most platforms seem to have resorted to unconditionally enable USB_FUNCTION_MASS_STORAGE via their 'common' config-header... some tried to tie this to an #ifdef CMD_USB_MASS_STORAGE (in fact I had a patch for the RK3399 that did just that and rather decided to clean this up once and for all instead of contributing to the prolongation of the status quo). Neither is a good solution.
So this series moves USB_FUNCTION_MASS_STORAGE to Kconfig and lets CMD_USB_MASS_STORAGE imply USB_FUNCTION_MASS_STORAGE. Finally, we run moveconfig to contain the damage.
Changes in v2: - ran 'tabify' on newly added lines (in Kconfig) to fix a spaces vs. tabs issues
Philipp Tomsich (3): usb: gadget: move USB_FUNCTION_MASS_STORAGE to Kconfig Kconfig: CMD_USB_MASS_STORAGE implies USB_FUNCTION_MASS_STORAGE config: move USB_FUNCTION_MASS_STORAGE
cmd/Kconfig | 1 + configs/CHIP_pro_defconfig | 1 + configs/Nintendo_NES_Classic_Edition_defconfig | 1 + configs/Sinlinx_SinA33_defconfig | 1 + configs/fennec-rk3288_defconfig | 1 + configs/firefly-rk3288_defconfig | 1 + configs/kylin-rk3036_defconfig | 1 + configs/miqi-rk3288_defconfig | 1 + configs/parrot_r16_defconfig | 1 + configs/phycore-rk3288_defconfig | 2 +- configs/popmetal-rk3288_defconfig | 1 + configs/smdkv310_defconfig | 1 + configs/tinker-rk3288_defconfig | 1 + drivers/usb/gadget/Kconfig | 9 +++++++++ include/configs/advantech_dms-ba16.h | 1 - include/configs/apalis_imx6.h | 1 - include/configs/bav335x.h | 4 ---- include/configs/cgtqmx6eval.h | 2 -- include/configs/colibri_imx6.h | 1 - include/configs/colibri_imx7.h | 2 -- include/configs/colibri_vf.h | 1 - include/configs/exynos4-common.h | 2 -- include/configs/ge_bx50v3.h | 1 - include/configs/gw_ventana.h | 1 - include/configs/ma5d4evk.h | 1 - include/configs/mx6sabre_common.h | 2 -- include/configs/mx7dsabresd.h | 2 -- include/configs/nitrogen6x.h | 2 -- include/configs/odroid_xu3.h | 1 - include/configs/opos6uldev.h | 1 - include/configs/pico-imx6ul.h | 1 - include/configs/pico-imx7d.h | 2 -- include/configs/rk3036_common.h | 1 - include/configs/rk322x_common.h | 1 - include/configs/rk3288_common.h | 1 - include/configs/rk3399_common.h | 4 ---- include/configs/s5p_goni.h | 1 - include/configs/socfpga_common.h | 2 -- include/configs/sunxi-common.h | 1 - include/configs/tbs2910.h | 1 - include/configs/tegra-common-usb-gadget.h | 1 - include/configs/warp.h | 2 -- include/configs/warp7.h | 2 -- scripts/config_whitelist.txt | 1 - 44 files changed, 22 insertions(+), 47 deletions(-)

In order to easily model that enabling CMD_USB_MASS_STORAGE implies a need to have USB_FUNCTION_MASS_STORAGE enabled, we first need to migrate USB_FUNCTION_MASS_STORAGE to Kconfig.
Signed-off-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com
---
Changes in v2: - ran 'tabify' on newly added lines to fix a spaces vs. tabs issues
drivers/usb/gadget/Kconfig | 9 +++++++++ 1 file changed, 9 insertions(+)
diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig index 261ed12..8d1cd57 100644 --- a/drivers/usb/gadget/Kconfig +++ b/drivers/usb/gadget/Kconfig @@ -34,6 +34,15 @@ menuconfig USB_GADGET peripheral/device side bus controller, and a "gadget driver" for your peripheral protocol.
+config USB_FUNCTION_MASS_STORAGE + bool "USB mass-storage class implementation" + help + The Mass Storage Function acts as a USB Mass Storage device + appearing to the host as a disk drive or as a CD-ROM drive. + + This is required (and implied) by the USB mass-storage emulation + command ('ums'). + if USB_GADGET
config USB_GADGET_ATMEL_USBA

There's an unconditional dependency from the mass-storage command onto the mass-storage function through a call to fsg_main_thread(...). If USB_FUNCTION_MASS_STORAGE is not enabled, this will result in link-errors when CMD_USB_MASS_STORAGE is enabled.
Let's introduce an 'imply' (I didn't want to make this a 'select', as these were independent in the past, as well) relationship to model this dependency.
Signed-off-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com ---
Changes in v2: None
cmd/Kconfig | 1 + 1 file changed, 1 insertion(+)
diff --git a/cmd/Kconfig b/cmd/Kconfig index 6758db1..a60a568 100644 --- a/cmd/Kconfig +++ b/cmd/Kconfig @@ -667,6 +667,7 @@ config CMD_DFU
config CMD_USB_MASS_STORAGE bool "UMS usb mass storage" + imply USB_FUNCTION_MASS_STORAGE help USB mass storage support

With both an imply from CMD_USB to USB_FUNCTION_MASS_STORAGE and with USB_FUNCTION_MASS_STORAGE moved to Kconfig, we can now run moveconfig.
Signed-off-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com ---
Changes in v2: None
configs/CHIP_pro_defconfig | 1 + configs/Nintendo_NES_Classic_Edition_defconfig | 1 + configs/Sinlinx_SinA33_defconfig | 1 + configs/fennec-rk3288_defconfig | 1 + configs/firefly-rk3288_defconfig | 1 + configs/kylin-rk3036_defconfig | 1 + configs/miqi-rk3288_defconfig | 1 + configs/parrot_r16_defconfig | 1 + configs/phycore-rk3288_defconfig | 2 +- configs/popmetal-rk3288_defconfig | 1 + configs/smdkv310_defconfig | 1 + configs/tinker-rk3288_defconfig | 1 + include/configs/advantech_dms-ba16.h | 1 - include/configs/apalis_imx6.h | 1 - include/configs/bav335x.h | 4 ---- include/configs/cgtqmx6eval.h | 2 -- include/configs/colibri_imx6.h | 1 - include/configs/colibri_imx7.h | 2 -- include/configs/colibri_vf.h | 1 - include/configs/exynos4-common.h | 2 -- include/configs/ge_bx50v3.h | 1 - include/configs/gw_ventana.h | 1 - include/configs/ma5d4evk.h | 1 - include/configs/mx6sabre_common.h | 2 -- include/configs/mx7dsabresd.h | 2 -- include/configs/nitrogen6x.h | 2 -- include/configs/odroid_xu3.h | 1 - include/configs/opos6uldev.h | 1 - include/configs/pico-imx6ul.h | 1 - include/configs/pico-imx7d.h | 2 -- include/configs/rk3036_common.h | 1 - include/configs/rk322x_common.h | 1 - include/configs/rk3288_common.h | 1 - include/configs/rk3399_common.h | 4 ---- include/configs/s5p_goni.h | 1 - include/configs/socfpga_common.h | 2 -- include/configs/sunxi-common.h | 1 - include/configs/tbs2910.h | 1 - include/configs/tegra-common-usb-gadget.h | 1 - include/configs/warp.h | 2 -- include/configs/warp7.h | 2 -- scripts/config_whitelist.txt | 1 - 42 files changed, 12 insertions(+), 47 deletions(-)
diff --git a/configs/CHIP_pro_defconfig b/configs/CHIP_pro_defconfig index 013d908..5ee6e1d 100644 --- a/configs/CHIP_pro_defconfig +++ b/configs/CHIP_pro_defconfig @@ -26,6 +26,7 @@ CONFIG_AXP_ALDO4_VOLT=3300 CONFIG_USB_EHCI_HCD=y CONFIG_USB_MUSB_GADGET=y CONFIG_USB_GADGET=y +CONFIG_USB_FUNCTION_MASS_STORAGE=y CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_G_DNL_MANUFACTURER="Allwinner Technology" CONFIG_G_DNL_VENDOR_NUM=0x1f3a diff --git a/configs/Nintendo_NES_Classic_Edition_defconfig b/configs/Nintendo_NES_Classic_Edition_defconfig index 5f91c35..7185511 100644 --- a/configs/Nintendo_NES_Classic_Edition_defconfig +++ b/configs/Nintendo_NES_Classic_Edition_defconfig @@ -20,6 +20,7 @@ CONFIG_AXP_DLDO1_VOLT=3300 CONFIG_AXP_ELDO2_VOLT=1800 CONFIG_USB_MUSB_GADGET=y CONFIG_USB_GADGET=y +CONFIG_USB_FUNCTION_MASS_STORAGE=y CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_G_DNL_MANUFACTURER="Allwinner Technology" CONFIG_G_DNL_VENDOR_NUM=0x1f3a diff --git a/configs/Sinlinx_SinA33_defconfig b/configs/Sinlinx_SinA33_defconfig index d1b5b22..bf99dde 100644 --- a/configs/Sinlinx_SinA33_defconfig +++ b/configs/Sinlinx_SinA33_defconfig @@ -25,6 +25,7 @@ CONFIG_DFU_RAM=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_MUSB_GADGET=y CONFIG_USB_GADGET=y +CONFIG_USB_FUNCTION_MASS_STORAGE=y CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_G_DNL_MANUFACTURER="Allwinner Technology" CONFIG_G_DNL_VENDOR_NUM=0x1f3a diff --git a/configs/fennec-rk3288_defconfig b/configs/fennec-rk3288_defconfig index 92be959..3c1c99e 100644 --- a/configs/fennec-rk3288_defconfig +++ b/configs/fennec-rk3288_defconfig @@ -64,6 +64,7 @@ CONFIG_SYSRESET=y CONFIG_USB=y CONFIG_USB_DWC2=y CONFIG_USB_STORAGE=y +CONFIG_USB_FUNCTION_MASS_STORAGE=y CONFIG_USE_TINY_PRINTF=y CONFIG_CMD_DHRYSTONE=y CONFIG_ERRNO_STR=y diff --git a/configs/firefly-rk3288_defconfig b/configs/firefly-rk3288_defconfig index 7df9d09..6bf708c 100644 --- a/configs/firefly-rk3288_defconfig +++ b/configs/firefly-rk3288_defconfig @@ -67,6 +67,7 @@ CONFIG_SYSRESET=y CONFIG_USB=y CONFIG_USB_DWC2=y CONFIG_USB_STORAGE=y +CONFIG_USB_FUNCTION_MASS_STORAGE=y CONFIG_DM_VIDEO=y CONFIG_DISPLAY=y CONFIG_VIDEO_ROCKCHIP=y diff --git a/configs/kylin-rk3036_defconfig b/configs/kylin-rk3036_defconfig index 715e4b2..18b9fa0 100644 --- a/configs/kylin-rk3036_defconfig +++ b/configs/kylin-rk3036_defconfig @@ -35,5 +35,6 @@ CONFIG_SYSRESET=y CONFIG_USB=y CONFIG_USB_DWC2=y CONFIG_USB_STORAGE=y +CONFIG_USB_FUNCTION_MASS_STORAGE=y CONFIG_CMD_DHRYSTONE=y CONFIG_ERRNO_STR=y diff --git a/configs/miqi-rk3288_defconfig b/configs/miqi-rk3288_defconfig index 29bdcdb..deb7bdc 100644 --- a/configs/miqi-rk3288_defconfig +++ b/configs/miqi-rk3288_defconfig @@ -64,6 +64,7 @@ CONFIG_SYSRESET=y CONFIG_USB=y CONFIG_USB_DWC2=y CONFIG_USB_STORAGE=y +CONFIG_USB_FUNCTION_MASS_STORAGE=y CONFIG_DM_VIDEO=y CONFIG_DISPLAY=y CONFIG_VIDEO_ROCKCHIP=y diff --git a/configs/parrot_r16_defconfig b/configs/parrot_r16_defconfig index 76e4e34..e66b00a 100644 --- a/configs/parrot_r16_defconfig +++ b/configs/parrot_r16_defconfig @@ -21,6 +21,7 @@ CONFIG_SPL=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_MUSB_GADGET=y CONFIG_USB_GADGET=y +CONFIG_USB_FUNCTION_MASS_STORAGE=y CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_G_DNL_MANUFACTURER="Allwinner Technology" CONFIG_G_DNL_VENDOR_NUM=0x1f3a diff --git a/configs/phycore-rk3288_defconfig b/configs/phycore-rk3288_defconfig index 823db06..1a46fda 100644 --- a/configs/phycore-rk3288_defconfig +++ b/configs/phycore-rk3288_defconfig @@ -2,7 +2,6 @@ CONFIG_ARM=y CONFIG_ARCH_ROCKCHIP=y CONFIG_SYS_MALLOC_F_LEN=0x2000 CONFIG_ROCKCHIP_RK3288=y -CONFIG_ROCKCHIP_SPL_BACK_TO_BROM=y CONFIG_TARGET_PHYCORE_RK3288=y CONFIG_SPL_STACK_R_ADDR=0x80000 CONFIG_DEFAULT_DEVICE_TREE="rk3288-phycore-rdk" @@ -65,6 +64,7 @@ CONFIG_SYS_NS16550=y CONFIG_SYSRESET=y CONFIG_USB=y CONFIG_USB_STORAGE=y +CONFIG_USB_FUNCTION_MASS_STORAGE=y CONFIG_USE_TINY_PRINTF=y CONFIG_CMD_DHRYSTONE=y CONFIG_ERRNO_STR=y diff --git a/configs/popmetal-rk3288_defconfig b/configs/popmetal-rk3288_defconfig index 1392d6f..6b8fd5e 100644 --- a/configs/popmetal-rk3288_defconfig +++ b/configs/popmetal-rk3288_defconfig @@ -64,6 +64,7 @@ CONFIG_SYSRESET=y CONFIG_USB=y CONFIG_USB_DWC2=y CONFIG_USB_STORAGE=y +CONFIG_USB_FUNCTION_MASS_STORAGE=y CONFIG_USE_TINY_PRINTF=y CONFIG_CMD_DHRYSTONE=y CONFIG_ERRNO_STR=y diff --git a/configs/smdkv310_defconfig b/configs/smdkv310_defconfig index 5e9f181..0843c55 100644 --- a/configs/smdkv310_defconfig +++ b/configs/smdkv310_defconfig @@ -31,3 +31,4 @@ CONFIG_MMC_SDHCI_SDMA=y CONFIG_MMC_SDHCI_S5P=y CONFIG_USB=y CONFIG_DM_USB=y +CONFIG_USB_FUNCTION_MASS_STORAGE=y diff --git a/configs/tinker-rk3288_defconfig b/configs/tinker-rk3288_defconfig index b2124b1..727edbf 100644 --- a/configs/tinker-rk3288_defconfig +++ b/configs/tinker-rk3288_defconfig @@ -67,6 +67,7 @@ CONFIG_SYSRESET=y CONFIG_USB=y CONFIG_USB_DWC2=y CONFIG_USB_STORAGE=y +CONFIG_USB_FUNCTION_MASS_STORAGE=y CONFIG_USE_TINY_PRINTF=y CONFIG_CMD_DHRYSTONE=y CONFIG_ERRNO_STR=y diff --git a/include/configs/advantech_dms-ba16.h b/include/configs/advantech_dms-ba16.h index f320792..302fa07 100644 --- a/include/configs/advantech_dms-ba16.h +++ b/include/configs/advantech_dms-ba16.h @@ -62,7 +62,6 @@ #define CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP
#define CONFIG_USBD_HS -#define CONFIG_USB_FUNCTION_MASS_STORAGE #define CONFIG_USB_GADGET_VBUS_DRAW 2
/* Networking Configs */ diff --git a/include/configs/apalis_imx6.h b/include/configs/apalis_imx6.h index 8be586b..6d95770 100644 --- a/include/configs/apalis_imx6.h +++ b/include/configs/apalis_imx6.h @@ -113,7 +113,6 @@ #define CONFIG_USBD_HS
#define CONFIG_USB_GADGET_MASS_STORAGE -#define CONFIG_USB_FUNCTION_MASS_STORAGE #define CONFIG_G_DNL_MANUFACTURER "Toradex" /* USB DFU */ #define CONFIG_DFU_MMC diff --git a/include/configs/bav335x.h b/include/configs/bav335x.h index 71b1b96..9431f28 100644 --- a/include/configs/bav335x.h +++ b/include/configs/bav335x.h @@ -439,10 +439,6 @@ DEFAULT_LINUX_BOOT_ENV \ #define CONFIG_FASTBOOT_FLASH_MMC_DEV 1 #endif
-#ifdef CONFIG_USB_MUSB_GADGET -#define CONFIG_USB_FUNCTION_MASS_STORAGE -#endif /* CONFIG_USB_MUSB_GADGET */ - #if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_USBETH_SUPPORT) /* disable host part of MUSB in SPL */ /* disable EFI partitions and partition UUID support */ diff --git a/include/configs/cgtqmx6eval.h b/include/configs/cgtqmx6eval.h index cad1357..61db4df 100644 --- a/include/configs/cgtqmx6eval.h +++ b/include/configs/cgtqmx6eval.h @@ -71,8 +71,6 @@
#define CONFIG_USBD_HS
-#define CONFIG_USB_FUNCTION_MASS_STORAGE - #define CONFIG_USB_FUNCTION_FASTBOOT #define CONFIG_CMD_FASTBOOT #define CONFIG_ANDROID_BOOT_IMAGE diff --git a/include/configs/colibri_imx6.h b/include/configs/colibri_imx6.h index 82812e5..d131cc0 100644 --- a/include/configs/colibri_imx6.h +++ b/include/configs/colibri_imx6.h @@ -94,7 +94,6 @@ #define CONFIG_USBD_HS
#define CONFIG_USB_GADGET_MASS_STORAGE -#define CONFIG_USB_FUNCTION_MASS_STORAGE #define CONFIG_G_DNL_MANUFACTURER "Toradex" /* USB DFU */ #define CONFIG_DFU_MMC diff --git a/include/configs/colibri_imx7.h b/include/configs/colibri_imx7.h index 3388a95..550a717 100644 --- a/include/configs/colibri_imx7.h +++ b/include/configs/colibri_imx7.h @@ -205,8 +205,6 @@
#define CONFIG_USBD_HS
-#define CONFIG_USB_FUNCTION_MASS_STORAGE - /* USB Device Firmware Update support */ #define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_16M #define DFU_DEFAULT_POLL_TIMEOUT 300 diff --git a/include/configs/colibri_vf.h b/include/configs/colibri_vf.h index 6e8cd91..1664884 100644 --- a/include/configs/colibri_vf.h +++ b/include/configs/colibri_vf.h @@ -198,6 +198,5 @@ #define CONFIG_SYS_DFU_DATA_BUF_SIZE (1024 * 1024)
/* USB Storage */ -#define CONFIG_USB_FUNCTION_MASS_STORAGE
#endif /* __CONFIG_H */ diff --git a/include/configs/exynos4-common.h b/include/configs/exynos4-common.h index 787c6de..5b048b9 100644 --- a/include/configs/exynos4-common.h +++ b/include/configs/exynos4-common.h @@ -40,8 +40,6 @@
#define CONFIG_USB_GADGET_DWC2_OTG_PHY
-#define CONFIG_USB_FUNCTION_MASS_STORAGE - /* Common environment variables */ #define CONFIG_EXTRA_ENV_ITB \ "loadkernel=load mmc ${mmcbootdev}:${mmcbootpart} ${kerneladdr} " \ diff --git a/include/configs/ge_bx50v3.h b/include/configs/ge_bx50v3.h index f60a029..682d98f 100644 --- a/include/configs/ge_bx50v3.h +++ b/include/configs/ge_bx50v3.h @@ -79,7 +79,6 @@ #define CONFIG_USB_GADGET #define CONFIG_USB_GADGET_DOWNLOAD #define CONFIG_USB_GADGET_MASS_STORAGE -#define CONFIG_USB_FUNCTION_MASS_STORAGE #define CONFIG_USB_GADGET_VBUS_DRAW 2 #define CONFIG_G_DNL_VENDOR_NUM 0x0525 #define CONFIG_G_DNL_PRODUCT_NUM 0xa4a5 diff --git a/include/configs/gw_ventana.h b/include/configs/gw_ventana.h index 2227eea..d01ca80 100644 --- a/include/configs/gw_ventana.h +++ b/include/configs/gw_ventana.h @@ -166,7 +166,6 @@ #define CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP
/* USB Mass Storage Gadget */ -#define CONFIG_USB_FUNCTION_MASS_STORAGE
/* Framebuffer and LCD */ #define CONFIG_VIDEO_IPUV3 diff --git a/include/configs/ma5d4evk.h b/include/configs/ma5d4evk.h index 82aee15..52fbf40 100644 --- a/include/configs/ma5d4evk.h +++ b/include/configs/ma5d4evk.h @@ -103,7 +103,6 @@ #define CONFIG_USB_ETHER #define CONFIG_USB_ETH_RNDIS #define CONFIG_USBNET_MANUFACTURER "AriesEmbedded" -#define CONFIG_USB_FUNCTION_MASS_STORAGE #define CONFIG_SYS_DFU_DATA_BUF_SIZE (1 * 1024 * 1024) #define DFU_DEFAULT_POLL_TIMEOUT 300 #endif diff --git a/include/configs/mx6sabre_common.h b/include/configs/mx6sabre_common.h index 9b0fe5a..0d5a0a4 100644 --- a/include/configs/mx6sabre_common.h +++ b/include/configs/mx6sabre_common.h @@ -218,8 +218,6 @@ #ifndef CONFIG_SPL #define CONFIG_USBD_HS
-#define CONFIG_USB_FUNCTION_MASS_STORAGE - #define CONFIG_USB_FUNCTION_FASTBOOT #define CONFIG_CMD_FASTBOOT #define CONFIG_ANDROID_BOOT_IMAGE diff --git a/include/configs/mx7dsabresd.h b/include/configs/mx7dsabresd.h index fe9fd66..462e65f 100644 --- a/include/configs/mx7dsabresd.h +++ b/include/configs/mx7dsabresd.h @@ -227,8 +227,6 @@
#define CONFIG_USBD_HS
-#define CONFIG_USB_FUNCTION_MASS_STORAGE - #ifdef CONFIG_VIDEO #define CONFIG_VIDEO_MXS #define CONFIG_VIDEO_LOGO diff --git a/include/configs/nitrogen6x.h b/include/configs/nitrogen6x.h index 00b84f7..a6c5984 100644 --- a/include/configs/nitrogen6x.h +++ b/include/configs/nitrogen6x.h @@ -302,8 +302,6 @@ #define CONFIG_PCIE_IMX #endif
-#define CONFIG_USB_FUNCTION_MASS_STORAGE - #define CONFIG_USB_FUNCTION_FASTBOOT #define CONFIG_CMD_FASTBOOT #define CONFIG_ANDROID_BOOT_IMAGE diff --git a/include/configs/odroid_xu3.h b/include/configs/odroid_xu3.h index ba29f3e..b622872 100644 --- a/include/configs/odroid_xu3.h +++ b/include/configs/odroid_xu3.h @@ -57,7 +57,6 @@ /* UMS */ #define CONFIG_G_DNL_UMS_VENDOR_NUM 0x0525 #define CONFIG_G_DNL_UMS_PRODUCT_NUM 0xA4A5 -#define CONFIG_USB_FUNCTION_MASS_STORAGE
/* FIXME: MUST BE REMOVED AFTER TMU IS TURNED ON */ #undef CONFIG_EXYNOS_TMU diff --git a/include/configs/opos6uldev.h b/include/configs/opos6uldev.h index e7bc044..777308b 100644 --- a/include/configs/opos6uldev.h +++ b/include/configs/opos6uldev.h @@ -48,7 +48,6 @@ #define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW) #define CONFIG_MXC_USB_FLAGS 0 #define CONFIG_USB_MAX_CONTROLLER_COUNT 2 -#define CONFIG_USB_FUNCTION_MASS_STORAGE #endif
/* Ethernet */ diff --git a/include/configs/pico-imx6ul.h b/include/configs/pico-imx6ul.h index 8d78f49..860ae2a 100644 --- a/include/configs/pico-imx6ul.h +++ b/include/configs/pico-imx6ul.h @@ -44,7 +44,6 @@
#define CONFIG_USBD_HS
-#define CONFIG_USB_FUNCTION_MASS_STORAGE #define CONFIG_USB_GADGET_VBUS_DRAW 2
#define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_16M diff --git a/include/configs/pico-imx7d.h b/include/configs/pico-imx7d.h index d128ede..5a68f9f 100644 --- a/include/configs/pico-imx7d.h +++ b/include/configs/pico-imx7d.h @@ -138,6 +138,4 @@
#define CONFIG_IMX_THERMAL
-#define CONFIG_USB_FUNCTION_MASS_STORAGE - #endif diff --git a/include/configs/rk3036_common.h b/include/configs/rk3036_common.h index 18b7dce..a72e117 100644 --- a/include/configs/rk3036_common.h +++ b/include/configs/rk3036_common.h @@ -62,7 +62,6 @@ #define CONFIG_FASTBOOT_BUF_SIZE 0x08000000
/* usb mass storage */ -#define CONFIG_USB_FUNCTION_MASS_STORAGE #define CONFIG_CMD_USB_MASS_STORAGE
#define CONFIG_USB_GADGET_DOWNLOAD diff --git a/include/configs/rk322x_common.h b/include/configs/rk322x_common.h index a145b74..b359d75 100644 --- a/include/configs/rk322x_common.h +++ b/include/configs/rk322x_common.h @@ -55,7 +55,6 @@ #define CONFIG_FASTBOOT_BUF_SIZE 0x08000000
/* usb mass storage */ -#define CONFIG_USB_FUNCTION_MASS_STORAGE #define CONFIG_CMD_USB_MASS_STORAGE
#define CONFIG_USB_GADGET_DOWNLOAD diff --git a/include/configs/rk3288_common.h b/include/configs/rk3288_common.h index ade6caf..a7e00c8 100644 --- a/include/configs/rk3288_common.h +++ b/include/configs/rk3288_common.h @@ -71,7 +71,6 @@ #define CONFIG_FASTBOOT_BUF_SIZE 0x08000000
/* usb mass storage */ -#define CONFIG_USB_FUNCTION_MASS_STORAGE #define CONFIG_CMD_USB_MASS_STORAGE
#define CONFIG_USB_GADGET_DOWNLOAD diff --git a/include/configs/rk3399_common.h b/include/configs/rk3399_common.h index 4e70131..54ea97b 100644 --- a/include/configs/rk3399_common.h +++ b/include/configs/rk3399_common.h @@ -22,10 +22,6 @@ #define CONFIG_SPL_SPI_LOAD #endif
-#if defined(CONFIG_CMD_USB_MASS_STORAGE) -#define CONFIG_USB_FUNCTION_MASS_STORAGE -#endif - #define COUNTER_FREQUENCY 24000000
#define CONFIG_SYS_NS16550_MEM32 diff --git a/include/configs/s5p_goni.h b/include/configs/s5p_goni.h index c328e43..80635f2 100644 --- a/include/configs/s5p_goni.h +++ b/include/configs/s5p_goni.h @@ -217,6 +217,5 @@ #define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_LOAD_ADDR - 0x1000000)
#define CONFIG_USB_GADGET_DWC2_OTG_PHY -#define CONFIG_USB_FUNCTION_MASS_STORAGE
#endif /* __CONFIG_H */ diff --git a/include/configs/socfpga_common.h b/include/configs/socfpga_common.h index 1bed85e..dbf9b61 100644 --- a/include/configs/socfpga_common.h +++ b/include/configs/socfpga_common.h @@ -229,8 +229,6 @@ unsigned int cm_get_qspi_controller_clk_hz(void); * USB Gadget (DFU, UMS) */ #if defined(CONFIG_CMD_DFU) || defined(CONFIG_CMD_USB_MASS_STORAGE) -#define CONFIG_USB_FUNCTION_MASS_STORAGE - #define CONFIG_SYS_DFU_DATA_BUF_SIZE (16 * 1024 * 1024) #define DFU_DEFAULT_POLL_TIMEOUT 300
diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h index 9b514ff..f2d12e0 100644 --- a/include/configs/sunxi-common.h +++ b/include/configs/sunxi-common.h @@ -320,7 +320,6 @@ extern int soft_i2c_gpio_scl;
#ifdef CONFIG_USB_MUSB_GADGET #define CONFIG_USB_FUNCTION_FASTBOOT -#define CONFIG_USB_FUNCTION_MASS_STORAGE #endif
#ifdef CONFIG_USB_FUNCTION_FASTBOOT diff --git a/include/configs/tbs2910.h b/include/configs/tbs2910.h index 84ca1c4..32b1c32 100644 --- a/include/configs/tbs2910.h +++ b/include/configs/tbs2910.h @@ -97,7 +97,6 @@ #define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW) #ifdef CONFIG_CMD_USB_MASS_STORAGE #define CONFIG_USBD_HS -#define CONFIG_USB_FUNCTION_MASS_STORAGE #endif /* CONFIG_CMD_USB_MASS_STORAGE */ #ifdef CONFIG_USB_KEYBOARD #define CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE diff --git a/include/configs/tegra-common-usb-gadget.h b/include/configs/tegra-common-usb-gadget.h index 58a5a30..82e2350 100644 --- a/include/configs/tegra-common-usb-gadget.h +++ b/include/configs/tegra-common-usb-gadget.h @@ -14,7 +14,6 @@ #define CONFIG_CI_UDC_HAS_HOSTPC #endif /* USB mass storage protocol */ -#define CONFIG_USB_FUNCTION_MASS_STORAGE /* DFU protocol */ #define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_1M #define CONFIG_SYS_DFU_MAX_FILE_SIZE SZ_32M diff --git a/include/configs/warp.h b/include/configs/warp.h index afe3eae..02a96da 100644 --- a/include/configs/warp.h +++ b/include/configs/warp.h @@ -66,8 +66,6 @@
#define CONFIG_USBD_HS
-#define CONFIG_USB_FUNCTION_MASS_STORAGE - #define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_16M #define DFU_DEFAULT_POLL_TIMEOUT 300
diff --git a/include/configs/warp7.h b/include/configs/warp7.h index 23b6eae..f60ad1e 100644 --- a/include/configs/warp7.h +++ b/include/configs/warp7.h @@ -131,8 +131,6 @@
#define CONFIG_USBD_HS
-#define CONFIG_USB_FUNCTION_MASS_STORAGE - /* USB Device Firmware Update support */ #define CONFIG_SYS_DFU_DATA_BUF_SIZE SZ_16M #define DFU_DEFAULT_POLL_TIMEOUT 300 diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt index d8d00f5..6c53721 100644 --- a/scripts/config_whitelist.txt +++ b/scripts/config_whitelist.txt @@ -5154,7 +5154,6 @@ CONFIG_USB_ETH_SUBSET CONFIG_USB_EXT2_BOOT CONFIG_USB_FAT_BOOT CONFIG_USB_FREQ -CONFIG_USB_FUNCTION_MASS_STORAGE CONFIG_USB_FUNCTION_THOR CONFIG_USB_GADGET_AMD5536UDC CONFIG_USB_GADGET_AT91

Hi Philipp,
On Fri, Jul 14, 2017 at 06:27:36PM +0200, Philipp Tomsich wrote:
With both an imply from CMD_USB to USB_FUNCTION_MASS_STORAGE and with USB_FUNCTION_MASS_STORAGE moved to Kconfig, we can now run moveconfig.
Signed-off-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com
Changes in v2: None
configs/CHIP_pro_defconfig | 1 + configs/Nintendo_NES_Classic_Edition_defconfig | 1 + configs/Sinlinx_SinA33_defconfig | 1 + configs/fennec-rk3288_defconfig | 1 + configs/firefly-rk3288_defconfig | 1 + configs/kylin-rk3036_defconfig | 1 + configs/miqi-rk3288_defconfig | 1 + configs/parrot_r16_defconfig | 1 +
I've never really been a big fan of enabling this one by default, and now that we have it in Kconfig, there's no reason to anymore. Let's remove it entirely from these boards (parrot, CHIP Pro, SinA33 and NES Classic).
Maxime

Maxime,
On 17 Jul 2017, at 11:28, Maxime Ripard maxime.ripard@free-electrons.com wrote:
Hi Philipp,
On Fri, Jul 14, 2017 at 06:27:36PM +0200, Philipp Tomsich wrote:
With both an imply from CMD_USB to USB_FUNCTION_MASS_STORAGE and with USB_FUNCTION_MASS_STORAGE moved to Kconfig, we can now run moveconfig.
Signed-off-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com
Changes in v2: None
configs/CHIP_pro_defconfig | 1 + configs/Nintendo_NES_Classic_Edition_defconfig | 1 + configs/Sinlinx_SinA33_defconfig | 1 + configs/fennec-rk3288_defconfig | 1 + configs/firefly-rk3288_defconfig | 1 + configs/kylin-rk3036_defconfig | 1 + configs/miqi-rk3288_defconfig | 1 + configs/parrot_r16_defconfig | 1 +
I've never really been a big fan of enabling this one by default, and now that we have it in Kconfig, there's no reason to anymore. Let's remove it entirely from these boards (parrot, CHIP Pro, SinA33 and NES Classic).
I’d prefer if we can keep the moveconfig part in tact (and have it show up in the defconfig of every board it was active for before).
Removing these from the affected board should be another patch after it’s been moved to defconfig.
Regards, Philipp.

On Mon, Jul 17, 2017 at 11:35:31AM +0200, Dr. Philipp Tomsich wrote:
Maxime,
On 17 Jul 2017, at 11:28, Maxime Ripard maxime.ripard@free-electrons.com wrote:
Hi Philipp,
On Fri, Jul 14, 2017 at 06:27:36PM +0200, Philipp Tomsich wrote:
With both an imply from CMD_USB to USB_FUNCTION_MASS_STORAGE and with USB_FUNCTION_MASS_STORAGE moved to Kconfig, we can now run moveconfig.
Signed-off-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com
Changes in v2: None
configs/CHIP_pro_defconfig | 1 + configs/Nintendo_NES_Classic_Edition_defconfig | 1 + configs/Sinlinx_SinA33_defconfig | 1 + configs/fennec-rk3288_defconfig | 1 + configs/firefly-rk3288_defconfig | 1 + configs/kylin-rk3036_defconfig | 1 + configs/miqi-rk3288_defconfig | 1 + configs/parrot_r16_defconfig | 1 +
I've never really been a big fan of enabling this one by default, and now that we have it in Kconfig, there's no reason to anymore. Let's remove it entirely from these boards (parrot, CHIP Pro, SinA33 and NES Classic).
I’d prefer if we can keep the moveconfig part in tact (and have it show up in the defconfig of every board it was active for before).
Removing these from the affected board should be another patch after it’s been moved to defconfig.
That works for me. Can you add it to your serie?
Thanks! Maxime

On 17 Jul 2017, at 13:16, Maxime Ripard maxime.ripard@free-electrons.com wrote:
On Mon, Jul 17, 2017 at 11:35:31AM +0200, Dr. Philipp Tomsich wrote:
Maxime,
On 17 Jul 2017, at 11:28, Maxime Ripard maxime.ripard@free-electrons.com wrote:
Hi Philipp,
On Fri, Jul 14, 2017 at 06:27:36PM +0200, Philipp Tomsich wrote:
With both an imply from CMD_USB to USB_FUNCTION_MASS_STORAGE and with USB_FUNCTION_MASS_STORAGE moved to Kconfig, we can now run moveconfig.
Signed-off-by: Philipp Tomsich philipp.tomsich@theobroma-systems.com
Changes in v2: None
configs/CHIP_pro_defconfig | 1 + configs/Nintendo_NES_Classic_Edition_defconfig | 1 + configs/Sinlinx_SinA33_defconfig | 1 + configs/fennec-rk3288_defconfig | 1 + configs/firefly-rk3288_defconfig | 1 + configs/kylin-rk3036_defconfig | 1 + configs/miqi-rk3288_defconfig | 1 + configs/parrot_r16_defconfig | 1 +
I've never really been a big fan of enabling this one by default, and now that we have it in Kconfig, there's no reason to anymore. Let's remove it entirely from these boards (parrot, CHIP Pro, SinA33 and NES Classic).
I’d prefer if we can keep the moveconfig part in tact (and have it show up in the defconfig of every board it was active for before).
Removing these from the affected board should be another patch after it’s been moved to defconfig.
That works for me. Can you add it to your serie?
I need to rebase this onto -usb anyway… so yes.
Phil.

On 07/14/2017 06:27 PM, Philipp Tomsich wrote:
Up to now, there's been some ugliness associated with the dependency from CMD_USB_MASS_STORAGE to USB_FUNCTION_MASS_STORAGE: if someone only defined CMD_USB_MASS_STORAGE, they'd meet a linker error due to missing symbols that came from USB_FUNCTION_MASS_STORAGE.
Most platforms seem to have resorted to unconditionally enable USB_FUNCTION_MASS_STORAGE via their 'common' config-header... some tried to tie this to an #ifdef CMD_USB_MASS_STORAGE (in fact I had a patch for the RK3399 that did just that and rather decided to clean this up once and for all instead of contributing to the prolongation of the status quo). Neither is a good solution.
So this series moves USB_FUNCTION_MASS_STORAGE to Kconfig and lets CMD_USB_MASS_STORAGE imply USB_FUNCTION_MASS_STORAGE. Finally, we run moveconfig to contain the damage.
Thanks for the patch.
Rewieved-by: Lukasz Majewski lukma@denx.de
I was trying to apply those patches to Marek's -usb tree, but with some issues.
Marek, would you be some kind and update your's u-boot-denx-usb tree?
Thanks in advance.
Changes in v2:
- ran 'tabify' on newly added lines (in Kconfig) to fix a spaces vs. tabs issues
Philipp Tomsich (3): usb: gadget: move USB_FUNCTION_MASS_STORAGE to Kconfig Kconfig: CMD_USB_MASS_STORAGE implies USB_FUNCTION_MASS_STORAGE config: move USB_FUNCTION_MASS_STORAGE
cmd/Kconfig | 1 + configs/CHIP_pro_defconfig | 1 + configs/Nintendo_NES_Classic_Edition_defconfig | 1 + configs/Sinlinx_SinA33_defconfig | 1 + configs/fennec-rk3288_defconfig | 1 + configs/firefly-rk3288_defconfig | 1 + configs/kylin-rk3036_defconfig | 1 + configs/miqi-rk3288_defconfig | 1 + configs/parrot_r16_defconfig | 1 + configs/phycore-rk3288_defconfig | 2 +- configs/popmetal-rk3288_defconfig | 1 + configs/smdkv310_defconfig | 1 + configs/tinker-rk3288_defconfig | 1 + drivers/usb/gadget/Kconfig | 9 +++++++++ include/configs/advantech_dms-ba16.h | 1 - include/configs/apalis_imx6.h | 1 - include/configs/bav335x.h | 4 ---- include/configs/cgtqmx6eval.h | 2 -- include/configs/colibri_imx6.h | 1 - include/configs/colibri_imx7.h | 2 -- include/configs/colibri_vf.h | 1 - include/configs/exynos4-common.h | 2 -- include/configs/ge_bx50v3.h | 1 - include/configs/gw_ventana.h | 1 - include/configs/ma5d4evk.h | 1 - include/configs/mx6sabre_common.h | 2 -- include/configs/mx7dsabresd.h | 2 -- include/configs/nitrogen6x.h | 2 -- include/configs/odroid_xu3.h | 1 - include/configs/opos6uldev.h | 1 - include/configs/pico-imx6ul.h | 1 - include/configs/pico-imx7d.h | 2 -- include/configs/rk3036_common.h | 1 - include/configs/rk322x_common.h | 1 - include/configs/rk3288_common.h | 1 - include/configs/rk3399_common.h | 4 ---- include/configs/s5p_goni.h | 1 - include/configs/socfpga_common.h | 2 -- include/configs/sunxi-common.h | 1 - include/configs/tbs2910.h | 1 - include/configs/tegra-common-usb-gadget.h | 1 - include/configs/warp.h | 2 -- include/configs/warp7.h | 2 -- scripts/config_whitelist.txt | 1 - 44 files changed, 22 insertions(+), 47 deletions(-)

On 07/17/2017 10:39 AM, Łukasz Majewski wrote:
On 07/14/2017 06:27 PM, Philipp Tomsich wrote:
Up to now, there's been some ugliness associated with the dependency from CMD_USB_MASS_STORAGE to USB_FUNCTION_MASS_STORAGE: if someone only defined CMD_USB_MASS_STORAGE, they'd meet a linker error due to missing symbols that came from USB_FUNCTION_MASS_STORAGE.
Most platforms seem to have resorted to unconditionally enable USB_FUNCTION_MASS_STORAGE via their 'common' config-header... some tried to tie this to an #ifdef CMD_USB_MASS_STORAGE (in fact I had a patch for the RK3399 that did just that and rather decided to clean this up once and for all instead of contributing to the prolongation of the status quo). Neither is a good solution.
So this series moves USB_FUNCTION_MASS_STORAGE to Kconfig and lets CMD_USB_MASS_STORAGE imply USB_FUNCTION_MASS_STORAGE. Finally, we run moveconfig to contain the damage.
Thanks for the patch.
Rewieved-by: Lukasz Majewski lukma@denx.de
I was trying to apply those patches to Marek's -usb tree, but with some issues.
Marek, would you be some kind and update your's u-boot-denx-usb tree?
It's on u-boot/master + 1 patch for a while ... what's your problem ? (HEAD -> refs/heads/master, refs/remotes/deploy/master)
--- 807598a60c | Masahiro Yamada | usb: add static to local symbols --- e14b1169c0 | Tom Rini | Merge git://www.denx.de/git/u-boot-marvell
Also cutting the screwed up CC list *eyeroll*

Hi Marek,
On 07/17/2017 10:39 AM, Łukasz Majewski wrote:
On 07/14/2017 06:27 PM, Philipp Tomsich wrote:
Up to now, there's been some ugliness associated with the dependency from CMD_USB_MASS_STORAGE to USB_FUNCTION_MASS_STORAGE: if someone only defined CMD_USB_MASS_STORAGE, they'd meet a linker error due to missing symbols that came from USB_FUNCTION_MASS_STORAGE.
Most platforms seem to have resorted to unconditionally enable USB_FUNCTION_MASS_STORAGE via their 'common' config-header... some tried to tie this to an #ifdef CMD_USB_MASS_STORAGE (in fact I had a patch for the RK3399 that did just that and rather decided to clean this up once and for all instead of contributing to the prolongation of the status quo). Neither is a good solution.
So this series moves USB_FUNCTION_MASS_STORAGE to Kconfig and lets CMD_USB_MASS_STORAGE imply USB_FUNCTION_MASS_STORAGE. Finally, we run moveconfig to contain the damage.
Thanks for the patch.
Rewieved-by: Lukasz Majewski lukma@denx.de
I was trying to apply those patches to Marek's -usb tree, but with some issues.
Marek, would you be some kind and update your's u-boot-denx-usb tree?
It's on u-boot/master + 1 patch for a while ... what's your problem ?
That is the patch 3/3 which causes the problem :-)
No issues from my side :-D
(HEAD -> refs/heads/master, refs/remotes/deploy/master)
807598a60c | Masahiro Yamada | usb: add static to local symbols
e14b1169c0 | Tom Rini | Merge git://www.denx.de/git/u-boot-marvell
Also cutting the screwed up CC list *eyeroll*
Yeah, I've realized that this list is too long after I've repied.
Philipp, could you make patch 3/3 applicable to Marek's u-boot-usb/master tree?
Thanks in advance.

On 17 Jul 2017, at 12:51, Łukasz Majewski lukma@denx.de wrote:
Hi Marek,
On 07/17/2017 10:39 AM, Łukasz Majewski wrote:
On 07/14/2017 06:27 PM, Philipp Tomsich wrote:
Up to now, there's been some ugliness associated with the dependency from CMD_USB_MASS_STORAGE to USB_FUNCTION_MASS_STORAGE: if someone only defined CMD_USB_MASS_STORAGE, they'd meet a linker error due to missing symbols that came from USB_FUNCTION_MASS_STORAGE.
Most platforms seem to have resorted to unconditionally enable USB_FUNCTION_MASS_STORAGE via their 'common' config-header... some tried to tie this to an #ifdef CMD_USB_MASS_STORAGE (in fact I had a patch for the RK3399 that did just that and rather decided to clean this up once and for all instead of contributing to the prolongation of the status quo). Neither is a good solution.
So this series moves USB_FUNCTION_MASS_STORAGE to Kconfig and lets CMD_USB_MASS_STORAGE imply USB_FUNCTION_MASS_STORAGE. Finally, we run moveconfig to contain the damage.
Thanks for the patch.
Rewieved-by: Lukasz Majewski lukma@denx.de
I was trying to apply those patches to Marek's -usb tree, but with some issues.
Marek, would you be some kind and update your's u-boot-denx-usb tree?
It's on u-boot/master + 1 patch for a while ... what's your problem ?
That is the patch 3/3 which causes the problem :-)
No issues from my side :-D
(HEAD -> refs/heads/master, refs/remotes/deploy/master)
807598a60c | Masahiro Yamada | usb: add static to local symbols
e14b1169c0 | Tom Rini | Merge git://www.denx.de/git/u-boot-marvell
Also cutting the screwed up CC list *eyeroll*
Yeah, I've realized that this list is too long after I've repied.
Philipp, could you make patch 3/3 applicable to Marek's u-boot-usb/master tree?
Rebased onto u-boot-usb/master and resubmitted.
The CC list will still be excessive... but that’s due to moveconfig touching large amounts of files and patman trying to keep everyone informed.
Regards, Philipp.
participants (5)
-
Dr. Philipp Tomsich
-
Marek Vasut
-
Maxime Ripard
-
Philipp Tomsich
-
Łukasz Majewski