Skip to contentSkip to conversation

Various cleanups for USB Gadget Kconfig

PATCH In review Romain Izard 3 participants 5 messages Mar 10, 2017 – Mar 28, 2017

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

v3 cover Various cleanups for USB Gadget Kconfig

Fix some issues left when the configuration was updated to support a built-in USB gadget configfs together with modular legacy gadget drivers.

Changes in v2:
- Reword description
Changes in v3:
- Split functional and comment changes

Romain Izard (2):
usb: gadget: legacy gadgets are optional
usb: gadget: reword configuration choices

 drivers/usb/gadget/Kconfig | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)
Signature · 1 line
2.9.3
#1 lore raw

PATCH v3 1/2 usb: gadget: legacy gadgets are optional

With commit bc49d1d17dcf ("usb: gadget: don't couple configfs to legacy gadgets"),it is possible to build a modular kernel with both built-in configfs support and modular legacy gadget drivers.

But when building a kernel without modules, it is also necessary to be able to build with configfs but without any legacy gadget driver. This was a possible configuration when the USB_CONFIGFS was a part of the choice options, but not anymore.

Mark the choice for legacy gadget drivers as optional restores this.

Fixes bc49d1d17dcf ("usb: gadget: don't couple configfs to legacy gadgets")
Cc <[email protected]> # 4.9+

---
Changes in v2:
- Reword description
Changes in v3:
- Remove comment changes

 drivers/usb/gadget/Kconfig | 1 +
 1 file changed, 1 insertion(+)
drivers/usb/gadget/Kconfig +1 -0
index 8ad203296079..f3ee80ece682 100644
@@ -460,6 +460,7 @@ config USB_CONFIGFS_F_TCM
 choice
 	tristate "USB Gadget Drivers"
 	default USB_ETH
+	optional
 	help
 	  A Linux "Gadget Driver" talks to the USB Peripheral Controller
 	  driver through the abstract "gadget" API.  Some other operating
Signature · 1 line
2.9.3
#2 lore raw

PATCH v3 2/2 usb: gadget: reword configuration choices

In reply to Romain Izard

As USB_CONFIGFS is not a part of the "USB Gadget Drivers" choice anymore, the name for the option and its attached description needs to be more descriptive. It appears one level higher in the configuration menu, and without the context provided by the comments for the choice entry, it needs to make sense on its own.

Conversely, the "USB Gadget Drivers" entry now only introduces the legacy drivers, where one or more functions are combined in a single driver. As the configfs option can be used as a full-fledged alternative, rename the choice entry to show that it is not the only way to provice service as an USB gadget.

---
Changes in v3:
- split from the functional patch

 drivers/usb/gadget/Kconfig | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)
drivers/usb/gadget/Kconfig +8 -2
index f3ee80ece682..e157e9aa4f3d 100644
@@ -212,7 +212,7 @@ config USB_F_TCM
 # this first set of drivers all depend on bulk-capable hardware.
 
 config USB_CONFIGFS
-	tristate "USB functions configurable through configfs"
+	tristate "USB Gadget functions configurable through configfs"
 	select USB_LIBCOMPOSITE
 	help
 	  A Linux USB "gadget" can be set up through configfs.
@@ -458,7 +458,7 @@ config USB_CONFIGFS_F_TCM
 	  UAS utilizes the USB 3.0 feature called streams support.
 
 choice
-	tristate "USB Gadget Drivers"
+	tristate "USB Gadget precomposed configurations"
 	default USB_ETH
 	optional
 	help
@@ -477,6 +477,12 @@ choice
 	  not be able work with that controller, or might need to implement
 	  a less common variant of a device class protocol.
 
+	  The available choices each represent a single precomposed USB
+	  gadget configuration. In the device model, each option contains
+	  both the device instanciation as a child for a USB gadget
+	  controller, and the relevant drivers for each function declared
+	  by the device.
+
 source "drivers/usb/gadget/legacy/Kconfig"
 
 endchoice
Signature · 1 line
2.9.3
#3 lore raw

Re: [PATCH v3 2/2] usb: gadget: reword configuration choices

Quoted 43 lines · Romain Izard

As USB_CONFIGFS is not a part of the "USB Gadget Drivers" choice anymore, the name for the option and its attached description needs to be more descriptive. It appears one level higher in the configuration menu, and without the context provided by the comments for the choice entry, it needs to make sense on its own.

Conversely, the "USB Gadget Drivers" entry now only introduces the legacy drivers, where one or more functions are combined in a single driver. As the configfs option can be used as a full-fledged alternative, rename the choice entry to show that it is not the only way to provice service as an USB gadget.

---
Changes in v3:
- split from the functional patch

 drivers/usb/gadget/Kconfig | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)
drivers/usb/gadget/Kconfig +2 -2
index f3ee80ece682..e157e9aa4f3d 100644
@@ -212,7 +212,7 @@ config USB_F_TCM
 # this first set of drivers all depend on bulk-capable hardware.
 
 config USB_CONFIGFS
-	tristate "USB functions configurable through configfs"
+	tristate "USB Gadget functions configurable through configfs"
 	select USB_LIBCOMPOSITE
 	help
 	  A Linux USB "gadget" can be set up through configfs.
@@ -458,7 +458,7 @@ config USB_CONFIGFS_F_TCM
 	  UAS utilizes the USB 3.0 feature called streams support.
 
 choice
-	tristate "USB Gadget Drivers"
+	tristate "USB Gadget precomposed configurations"
 	default USB_ETH
 	optional
 	help

drivers/usb/gadget/Kconfig choice · line 482

Quoted 6 lines
drivers/usb/gadget/Kconfig +3 -0
@@ -477,6 +477,12 @@ choice
 	  not be able work with that controller, or might need to implement
 	  a less common variant of a device class protocol.
 
+	  The available choices each represent a single precomposed USB
+	  gadget configuration. In the device model, each option contains
+	  both the device instanciation as a child for a USB gadget

instantiation

Quoted 7 lines
drivers/usb/gadget/Kconfig +3 -0
+	  controller, and the relevant drivers for each function declared
+	  by the device.
+
 source "drivers/usb/gadget/legacy/Kconfig"
 
 endchoice
Signature · 1 line
~Randy
#4 lore raw

Re: [PATCH v3 2/2] usb: gadget: reword configuration choices

Hi,

Quoted 9 lines · Randy Dunlap

drivers/usb/gadget/Kconfig choice · line 482

Quoted 7 lines
drivers/usb/gadget/Kconfig +3 -0
@@ -477,6 +477,12 @@ choice
 	  not be able work with that controller, or might need to implement
 	  a less common variant of a device class protocol.
 
+	  The available choices each represent a single precomposed USB
+	  gadget configuration. In the device model, each option contains
+	  both the device instanciation as a child for a USB gadget

instantiation

fixed locally, thanks

Signature · 1 line
balbi