[RFC PATCH] usb: move config USB_USS720 to usb's misc Kconfig

From: Lukas Bulwahn
Date: Wed Mar 29 2023 - 03:18:12 EST


The USS720 parport driver source code is in drivers/usb/misc/, the
corresponding config is defined in drivers/usb/Kconfig. Some digging in the
kernel's history revealed no good reason why it needs to be defined in
USB's top-level Kconfig file, and why the config for the USS720 parport
driver should be the first in the list of USB port drivers, while all other
configs for drivers in drivers/usb/misc are in the USB Miscellaneous driver
configuration file.

Most probably, it was simply considered a bit more special when the USB
Miscellaneous driver configuration file (drivers/usb/misc/Config.in back
then) was initially created, and this config simply survived to remain at
the top-level USB Kconfig file with all further code/Kconfig
transformations and additions later on. Users rarely notice this config
being at this position, as CONFIG_PARPORT (Parallel port support) needs to
be enabled and only few users enable that. Nowadays, this USB_USS720 driver
is probably not that special that it needs to be listed as first item of
the USB port drivers.

Move the configuration of the USS720 parport driver to the top of the USB
Miscellaneous drivers section, as the configurations does not have a lot of
specific ordering USB Miscellaneous drivers. This way, the USS720 parport
driver is moved to the comment "USB Miscellaneous drivers", fitting to the
driver's source code location, but still is at the top of the list for
those few acquainted users of Kconfig UIs that might be looking for the
config that was once at the top of the list of the USB port drivers.

Put this config definition to a more local place. No semantic change.

Signed-off-by: Lukas Bulwahn <lukas.bulwahn@xxxxxxxxx>
---

Details to the historic digging:

https://git.kernel.org/pub/scm/linux/kernel/git/history/history.git/commit?id=fa67c3c55d814169652a26b625096a48c2d3701c
moved all other configs of misc drivers into misc/Config.in.

https://git.kernel.org/pub/scm/linux/kernel/git/history/history.git/commit/drivers/usb/Config.in?id=7a2deb32924142696b8174cdf9b38cd72a11fc96
shows the USS720 parport driver to exist already at the beginning of the
kernel history.git.

All of this is more than two decades ago, and the rationales from those
historic times are probably outdated at this point in time anyway.


drivers/usb/Kconfig | 29 -----------------------------
drivers/usb/misc/Kconfig | 29 +++++++++++++++++++++++++++++
2 files changed, 29 insertions(+), 29 deletions(-)

diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig
index a871a988829d..7f33bcc315f2 100644
--- a/drivers/usb/Kconfig
+++ b/drivers/usb/Kconfig
@@ -133,35 +133,6 @@ comment "USB port drivers"

if USB

-config USB_USS720
- tristate "USS720 parport driver"
- depends on PARPORT
- select PARPORT_NOT_PC
- help
- This driver is for USB parallel port adapters that use the Lucent
- Technologies USS-720 chip. These cables are plugged into your USB
- port and provide USB compatibility to peripherals designed with
- parallel port interfaces.
-
- The chip has two modes: automatic mode and manual mode. In automatic
- mode, it looks to the computer like a standard USB printer. Only
- printers may be connected to the USS-720 in this mode. The generic
- USB printer driver ("USB Printer support", above) may be used in
- that mode, and you can say N here if you want to use the chip only
- in this mode.
-
- Manual mode is not limited to printers, any parallel port
- device should work. This driver utilizes manual mode.
- Note however that some operations are three orders of magnitude
- slower than on a PCI/ISA Parallel Port, so timing critical
- applications might not work.
-
- Say Y here if you own an USS-720 USB->Parport cable and intend to
- connect anything other than a printer to it.
-
- To compile this driver as a module, choose M here: the
- module will be called uss720.
-
source "drivers/usb/serial/Kconfig"

source "drivers/usb/misc/Kconfig"
diff --git a/drivers/usb/misc/Kconfig b/drivers/usb/misc/Kconfig
index a5f7652db7da..801c87e0dd29 100644
--- a/drivers/usb/misc/Kconfig
+++ b/drivers/usb/misc/Kconfig
@@ -4,6 +4,35 @@
#
comment "USB Miscellaneous drivers"

+config USB_USS720
+ tristate "USS720 parport driver"
+ depends on PARPORT
+ select PARPORT_NOT_PC
+ help
+ This driver is for USB parallel port adapters that use the Lucent
+ Technologies USS-720 chip. These cables are plugged into your USB
+ port and provide USB compatibility to peripherals designed with
+ parallel port interfaces.
+
+ The chip has two modes: automatic mode and manual mode. In automatic
+ mode, it looks to the computer like a standard USB printer. Only
+ printers may be connected to the USS-720 in this mode. The generic
+ USB printer driver ("USB Printer support", above) may be used in
+ that mode, and you can say N here if you want to use the chip only
+ in this mode.
+
+ Manual mode is not limited to printers, any parallel port
+ device should work. This driver utilizes manual mode.
+ Note however that some operations are three orders of magnitude
+ slower than on a PCI/ISA Parallel Port, so timing critical
+ applications might not work.
+
+ Say Y here if you own an USS-720 USB->Parport cable and intend to
+ connect anything other than a printer to it.
+
+ To compile this driver as a module, choose M here: the
+ module will be called uss720.
+
config USB_EMI62
tristate "EMI 6|2m USB Audio interface support"
help
--
2.17.1