mmotm 2010-05-19 - Kconfig dependency list from hell...

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

 



On Wed, 19 May 2010 16:13:09 PDT, akpm@xxxxxxxxxxxxxxxxxxxx said:
> The mm-of-the-moment snapshot 2010-05-19-16-12 has been uploaded to
> 
>    http://userweb.kernel.org/~akpm/mmotm/

Looks like some code to sort the dependency list and eliminate duplicates is
called for. I hit '?' on a new prompt, and saw this:

CONFIG_COMEDI_FC:

Enable support for shared functions for low-level drivers.
This module is not used directly by end-users. Rather, it
is used by many other comedi drivers.

To compile this driver as a module, choose M here: the module will be
called comedi_fc.

Symbol: COMEDI_FC [=n]
Prompt: Comedi shared functions for low-level driver support
  Defined at drivers/staging/comedi/Kconfig:1294
  Depends on: STAGING [=y] && !STAGING_EXCLUDE_BUILD [=n]
  Location:
    -> Device Drivers
      -> Staging drivers (STAGING [=y])
        -> Exclude Staging drivers from being built (STAGING_EXCLUDE_BUILD [=n])

  Selected by: COMEDI_TEST [=n] && STAGING [=y] && !STAGING_EXCLUDE_BUILD [=n]
&& COMEDI_MISC_DRIVERS [=n] || COMEDI_DAS16M1 [=n] && STAGING [=y] &&
!STAGING_EXCLUDE_BUILD [=n] && COMEDI_ISA_DRIVERS [=n] && ISA [=n] ||
COMEDI_DAS16 [=n] && STAGING [=y] && !STAGING_EXCLUDE_BUILD [=n] &&
COMEDI_ISA_DRIVERS [=n] && ISA [=n] || COMEDI_DAS800 [=n] && STAGING [=y] &&
!STAGING_EXCLUDE_BUILD [=n] && COMEDI_ISA_DRIVERS [=n] && ISA [=n] ||
COMEDI_DAS1800 [=n] && STAGING [=y] && !STAGING_EXCLUDE_BUILD [=n] &&
COMEDI_ISA_DRIVERS [=n] && ISA [=n] || COMEDI_DT282X [=n] && STAGING [=y] &&
!STAGING_EXCLUDE_BUILD [=n] && COMEDI_ISA_DRIVERS [=n] && ISA [=n] ||
COMEDI_ADDI_APCI_3001 [=n] && STAGING [=y] && !STAGING_EXCLUDE_BUILD [=n] &&
COMEDI_PCI_DRIVERS [=n] && PCI [=y] || COMEDI_ADDI_APCI_3120 [=n] && STAGING
[=y] && !STAGING_EXCLUDE_BUILD [=n] && COMEDI_PCI_DRIVERS [=n] && PCI [=y] ||
COMEDI_ADL_PCI9111 [=n] && STAGING [=y] && !STAGING_EXCLUDE_BUILD [=n] &&
COMEDI_PCI_DRIVERS [=n] && PCI [=y] || COMEDI_ADL_PCI9118 [=n] && STAGING [=y]
&& !STAGING_EXCLUDE_BUILD [=n] && COMEDI_PCI_DRIVERS [=n] && PCI [=y] ||
COMEDI_AMPLC_PCI224 [=n] && STAGING [=y] && !STAGING_EXCLUDE_BUILD [=n] &&
COMEDI_PCI_DRIVERS [=n] && PCI [=y] || COMEDI_GSC_HPDI [=n] && STAGING [=y] &&
!STAGING_EXCLUDE_BUILD [=n] && COMEDI_PCI_DRIVERS [=n] && PCI [=y] ||
COMEDI_CB_PCIDAS64 [=n] && STAGING [=y] && !STAGING_EXCLUDE_BUILD [=n] &&
COMEDI_PCI_DRIVERS [=n] && PCI [=y] || COMEDI_CB_PCIDAS [=n] && STAGING [=y] &&
!STAGING_EXCLUDE_BUILD [=n] && COMEDI_PCI_DRIVERS [=n] && PCI [=y] ||
COMEDI_S626 [=n] && STAGING [=y] && !STAGING_EXCLUDE_BUILD [=n] &&
COMEDI_PCI_DRIVERS [=n] && PCI [=y] || COMEDI_NI_MIO_CS [=n] && STAGING [=y] &&
!STAGING_EXCLUDE_BUILD [=n] && COMEDI_PCMCIA_DRIVERS [=n] && PCMCIA [=y] &&
COMEDI_NI_TIO [=n] && COMEDI_NI_COMMON [=n] || COMEDI_USBDUXFAST [=n] &&
STAGING [=y] && !STAGING_EXCLUDE_BUILD [=n] && COMEDI_USB_DRIVERS [=n] && USB
[=y] || COMEDI_NI_LABPC [=n] && STAGING [=y] && !STAGING_EXCLUDE_BUILD [=n] &&
COMEDI_NI_COMMON [=n]

(Last line wrapped for readability). That includes these dups:

     19  !STAGING_EXCLUDE_BUILD [=n]
     18  STAGING [=y]
      9  COMEDI_PCI_DRIVERS [=n]
      5  COMEDI_ISA_DRIVERS [=n]

It would probably be harder to reduce these:

      1  PCI [=y] || COMEDI_S626 [=n] 
      1  PCI [=y] || COMEDI_NI_MIO_CS [=n] 
      1  PCI [=y] || COMEDI_GSC_HPDI [=n] 
      1  PCI [=y] || COMEDI_CB_PCIDAS64 [=n] 
      1  PCI [=y] || COMEDI_CB_PCIDAS [=n] 
      1  PCI [=y] || COMEDI_AMPLC_PCI224 [=n] 
      1  PCI [=y] || COMEDI_ADL_PCI9118 [=n] 
      1  PCI [=y] || COMEDI_ADL_PCI9111 [=n] 
      1  PCI [=y] || COMEDI_ADDI_APCI_3120 [=n] 
      1  ISA [=n] || COMEDI_DT282X [=n] 
      1  ISA [=n] || COMEDI_DAS800 [=n] 
      1  ISA [=n] || COMEDI_DAS1800 [=n] 
      1  ISA [=n] || COMEDI_DAS16 [=n] 
      1  ISA [=n] || COMEDI_ADDI_APCI_3001 [=n] 

(Is there a reason these don't print with () around them?  It looks like it
needs them to enforce proper semantics...)




Attachment: pgpSnm0uoOs2m.pgp
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