Re: [PATCH] scripts: kconfig: implement a sort method

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Randy Dunlap <rdunlap@xxxxxxxxxxxxx> 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

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux