lkml.org 
[lkml]   [2017]   [Apr]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH] scripts: kconfig: implement a sort method
    Date

    Hi,

    Randy Dunlap <rdunlap@infradead.org> 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
    [unhandled content-type:application/pgp-signature]
    \
     
     \ /
      Last update: 2017-04-12 09:50    [W:3.228 / U:0.584 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site