Hi, Randy Dunlap <[email protected]> writes: > On 04/11/17 04:12, Felipe Balbi wrote: >> With a growing amount of Kernel configuration, it's >> getting ever more difficult to find anything on >> menuconfig. Because of that, implement mergesort for >> kconfig to make it a little easier for anybody >> building kernels. > > Search works for me, but I don't mind Sort either.
yes, it works. It does a different thing, though. Here's what happens
when I want to find DWC3:
/ DWC3 RET
| Symbol: USB_DWC3 [=m]
│
│ Type : tristate
│
│ Prompt: DesignWare USB3 DRD Core Support
│
│ Location:
│
│ -> Device Drivers
│
│ (1) -> USB support (USB_SUPPORT [=y])
│
│ Defined at drivers/usb/dwc3/Kconfig:1
│
│ Depends on: USB_SUPPORT [=y] && (USB [=y] || USB_GADGET [=y]) && HAS_DMA
│
│ Selects: USB_XHCI_PLATFORM [=m]
│
│
│
│
│
│ Symbol: USB_DWC3_DUAL_ROLE [=n]
│
│ Type : boolean
│
│ Prompt: Dual Role mode
│
│ Location:
│
│ -> Device Drivers
│
│ -> USB support (USB_SUPPORT [=y])
│
│ -> DesignWare USB3 DRD Core Support (USB_DWC3 [=m])
│
│ (2) -> DWC3 Mode Selection (<choice> [=y])
│
│ Defined at drivers/usb/dwc3/Kconfig:41
│
│ Depends on: <choice> && (USB [=y]=y || USB [=y]=USB_DWC3 [=m]) && (USB_G
│
│
│
│
│
│ Symbol: USB_DWC3_EXYNOS [=n]
│
│ Type : tristate
│
│ Prompt: Samsung Exynos Platform
│
│ Location:
│
│ -> Device Drivers
│
│ -> USB support (USB_SUPPORT [=y])
│
│ (3) -> DesignWare USB3 DRD Core Support (USB_DWC3 [=m])
│
│ Defined at drivers/usb/dwc3/Kconfig:63
│
│ Depends on: USB_SUPPORT [=y] && USB_DWC3 [=m] && (ARCH_EXYNOS || COMPILE
│
│
│
│
│
│ Symbol: USB_DWC3_GADGET [=y]
│
│ Type : boolean
│
│ Prompt: Gadget only mode
│
│ Location:
│
│ -> Device Drivers
│
│ -> USB support (USB_SUPPORT [=y])
│
│ -> DesignWare USB3 DRD Core Support (USB_DWC3 [=m])
│
│ (4) -> DWC3 Mode Selection (<choice> [=y])
│
│ Defined at drivers/usb/dwc3/Kconfig:34
│
│ Depends on: <choice> && (USB_GADGET [=y]=y || USB_GAD
Now I know where DWC3 is defined, so I navigate to Device Driver, USB
Support and search for DesignWare USB3 DRD Core Support:
│ │ <M> USB Test and Measurement Class support │
│
│ │ *** NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may ***│
│
│ │ *** also be needed; see USB_STORAGE Help for more info *** │
│
│ │ <M> USB Mass Storage support │
│
│ │ [ ] USB Mass Storage verbose debug │
│
│ │ <M> Realtek Card Reader support │
│
│ │ [*] Realtek Card Reader autosuspend support │
│
│ │ <M> Datafab Compact Flash Reader support │
│
│ │ <M> Freecom USB/ATAPI Bridge support │
│
│ │ <M> ISD-200 USB/ATA Bridge support │
│
│ │ <M> USBAT/USBAT02-based storage support │
│
│ │ <M> SanDisk SDDR-09 (and other SmartMedia, including DPCM) sup│
│
│ │ <M> SanDisk SDDR-55 SmartMedia support │
│
│ │ <M> Lexar Jumpshot Compact Flash Reader │
│
│ │ <M> Olympus MAUSB-10/Fuji DPC-R1 support │
│
│ │ <M> Support OneTouch Button on Maxtor Hard Drives │
│
│ │ <M> Support for Rio Karma music player │
│
│ │ <M> SAT emulation on Cypress USB/ATA Bridge with ATACB │
│
│ │ <M> USB ENE card reader support │
│
│ │ <M> USB Attached SCSI │
│
│ │ *** USB Imaging devices *** │
│
│ │ < > USB Mustek MDC800 Digital Camera support │
│
│ │ < > Microtek X6USB scanner support │
│
│ │ < > USB/IP support │
│
│ │ < > Inventra Highspeed Dual Role Controller (TI, ADI, AW, ...) │
│
│ │ < > DesignWare USB3 DRD Core Support │
│
│ │ < > DesignWare USB2 DRD Core Support │
│
│ │ < > ChipIdea Highspeed Dual Role Controller │
│
│ │ < > NXP ISP 1760/1761 support │
│
│ │ *** USB port drivers *** │
│
│ │ <M> USB Serial Converter support ---> │
│
│ │ *** USB Miscellaneous drivers *** │
│
│ │ < > EMI 6|2m USB Audio interface support │
│
│ │ < > EMI 2|6 USB Audio interface support │
│
│ │ < > ADU devices from Ontrak Control Systems │
│
│ │ < > USB 7-Segment LED Display │
│
│ │ < > USB Diamond Rio500 support │
│
│ │ < > USB Lego Infrared Tower support │
│
│ │ < > USB LCD driver support │
│
Compare that to the sorted view of this same entry:
│ │ --- USB support │
│
│ │ < > ADU devices from Ontrak Control Systems │
│
│ │ < > Apple Cinema Display support │
│
│ │ < > ChaosKey random number generator driver support │
│
│ │ < > ChipIdea Highspeed Dual Role Controller │
│
│ │ < > Cypress CY7C63xxx USB driver support │
│
│ │ < > Cypress USB thermometer driver support │
│
│ │ < > DesignWare USB2 DRD Core Support │
│
│ │ < > DesignWare USB3 DRD Core Support │
│
│ │ < > EMI 2|6 USB Audio interface support │
│
│ │ < > EMI 6|2m USB Audio interface support │
│
│ │ < > Elan PCMCIA CardBus Adapter USB Client │
│
│ │ {M} Functions for loading firmware on EZUSB chips │
│
│ │ < > IO Warrior driver support │
│
│ │ < > Inventra Highspeed Dual Role Controller (TI, ADI, AW, ...) │
│
│ │ < > NXP ISP 1760/1761 support │
│
│ │ < > PlayStation 2 Trance Vibrator driver support │
│
│ │ < > Siemens ID USB Mouse Fingerprint sensor support │
│
│ │ <*> Support for Host-side USB │
│
│ │ < > BCMA usb host driver │
│
│ │ < > Cypress C67x00 HCD support │
│
│ │ [*] Dynamic USB minor allocation │
│
│ │ < > EHCI HCD (USB 2.0) support │
│
│ │ [*] Enable USB persist by default │
│
│ │ < > FOTG210 HCD support │
│
│ │ [ ] HCD test mode support │
│
│ │ < > ISP116X HCD support │
│
│ │ < > ISP1362 HCD support │
│
│ │ < > Microtek X6USB scanner support │
│
│ │ *** Miscellaneous USB options *** │
│
│ │ *** NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may ***│
│
│ │ < > OHCI HCD (USB 1.1) support │
│
│ │ [ ] OTG support │
│
│ │ < > OXU210HP HCD support │
│
│ │ < > R8A66597 HCD support │
│
│ │ [ ] Rely on OTG and EH Targeted Peripherals List │
│
│ │ < > SL811HS HCD support │
│
│ │ < > SSB usb host driver │
│
│ │ < > Support WUSB Cable Based Association (CBA) │
│
much easier to find, don't you think?
> Why only menuconfig? Is it the one that you use mostly?
shouldn't be difficult to port to nconfig.
> Any Help text for Sort? or is it obvious what it does? (no)
wait, it's not obvious what "Sort" means?
> In an 80x25 terminal (window), the < Sort > option wraps around
> past column 80.
not what I see here [1]
> I haven't looked at the source code (lately), but I think that it
> would OK to not have the (extra) spaces inside the <...> brackets.
> I.e., instead of
> │ <Select> < Exit > < Help > < Save > < Load > < Sort
>
> >
> just have
> │ <Select> <Exit> <Help> <Save> <Load> <Sort>
>
> Or the <Select> does not need to be indented as much as it is.
I changed that for this very reason
> And BTW, Yann made kconfig an orphan today. :(
oh well
[1] https://imgur.com/a/qyvG6
--
balbi
signature.asc
Description: PGP signature

