1. 10 May, 2017 3 commits
    • Nicolas Dichtel's avatar
      uapi: export all arch specifics directories · 61562f98
      Nicolas Dichtel authored
      This patch removes the need of subdir-y. Now all files/directories under
      arch/<arch>/include/uapi/ are exported.
      
      The only change for userland is the layout of the command 'make
      headers_install_all': directories asm-<arch> are replaced by arch-<arch>/.
      Those new directories contains all files/directories of the specified arch.
      
      Note that only cris and tile have more directories than only asm:
       - arch-v[10|32] for cris;
       - arch for tile.
      Signed-off-by: default avatarNicolas Dichtel <nicolas.dichtel@6wind.com>
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      61562f98
    • Nicolas Dichtel's avatar
      uapi: export all headers under uapi directories · fcc8487d
      Nicolas Dichtel authored
      Regularly, when a new header is created in include/uapi/, the developer
      forgets to add it in the corresponding Kbuild file. This error is usually
      detected after the release is out.
      
      In fact, all headers under uapi directories should be exported, thus it's
      useless to have an exhaustive list.
      
      After this patch, the following files, which were not exported, are now
      exported (with make headers_install_all):
      asm-arc/kvm_para.h
      asm-arc/ucontext.h
      asm-blackfin/shmparam.h
      asm-blackfin/ucontext.h
      asm-c6x/shmparam.h
      asm-c6x/ucontext.h
      asm-cris/kvm_para.h
      asm-h8300/shmparam.h
      asm-h8300/ucontext.h
      asm-hexagon/shmparam.h
      asm-m32r/kvm_para.h
      asm-m68k/kvm_para.h
      asm-m68k/shmparam.h
      asm-metag/kvm_para.h
      asm-metag/shmparam.h
      asm-metag/ucontext.h
      asm-mips/hwcap.h
      asm-mips/reg.h
      asm-mips/ucontext.h
      asm-nios2/kvm_para.h
      asm-nios2/ucontext.h
      asm-openrisc/shmparam.h
      asm-parisc/kvm_para.h
      asm-powerpc/perf_regs.h
      asm-sh/kvm_para.h
      asm-sh/ucontext.h
      asm-tile/shmparam.h
      asm-unicore32/shmparam.h
      asm-unicore32/ucontext.h
      asm-x86/hwcap2.h
      asm-xtensa/kvm_para.h
      drm/armada_drm.h
      drm/etnaviv_drm.h
      drm/vgem_drm.h
      linux/aspeed-lpc-ctrl.h
      linux/auto_dev-ioctl.h
      linux/bcache.h
      linux/btrfs_tree.h
      linux/can/vxcan.h
      linux/cifs/cifs_mount.h
      linux/coresight-stm.h
      linux/cryptouser.h
      linux/fsmap.h
      linux/genwqe/genwqe_card.h
      linux/hash_info.h
      linux/kcm.h
      linux/kcov.h
      linux/kfd_ioctl.h
      linux/lightnvm.h
      linux/module.h
      linux/nbd-netlink.h
      linux/nilfs2_api.h
      linux/nilfs2_ondisk.h
      linux/nsfs.h
      linux/pr.h
      linux/qrtr.h
      linux/rpmsg.h
      linux/sched/types.h
      linux/sed-opal.h
      linux/smc.h
      linux/smc_diag.h
      linux/stm.h
      linux/switchtec_ioctl.h
      linux/vfio_ccw.h
      linux/wil6210_uapi.h
      rdma/bnxt_re-abi.h
      
      Note that I have removed from this list the files which are generated in every
      exported directories (like .install or .install.cmd).
      
      Thanks to Julien Floret <julien.floret@6wind.com> for the tip to get all
      subdirs with a pure makefile command.
      
      For the record, note that exported files for asm directories are a mix of
      files listed by:
       - include/uapi/asm-generic/Kbuild.asm;
       - arch/<arch>/include/uapi/asm/Kbuild;
       - arch/<arch>/include/asm/Kbuild.
      Signed-off-by: default avatarNicolas Dichtel <nicolas.dichtel@6wind.com>
      Acked-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Acked-by: default avatarRussell King <rmk+kernel@armlinux.org.uk>
      Acked-by: default avatarMark Salter <msalter@redhat.com>
      Acked-by: Michael Ellerman <mpe@ellerman.id.au> (powerpc)
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      fcc8487d
    • Nicolas Dichtel's avatar
      Makefile.headersinst: remove destination-y option · bd73a328
      Nicolas Dichtel authored
      This option was added in commit c7bb349e ("kbuild: introduce destination-y
      for exported headers") but never used in-tree.
      Signed-off-by: default avatarNicolas Dichtel <nicolas.dichtel@6wind.com>
      Acked-by: default avatarPaul Bolle <pebolle@tiscali.nl>
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      bd73a328
  2. 16 Nov, 2016 1 commit
    • Nicolas Pitre's avatar
      Kconfig: Introduce the "imply" keyword · 237e3ad0
      Nicolas Pitre authored
      The "imply" keyword is a weak version of "select" where the target
      config symbol can still be turned off, avoiding those pitfalls that come
      with the "select" keyword.
      
      This is useful e.g. with multiple drivers that want to indicate their
      ability to hook into a secondary subsystem while allowing the user to
      configure that subsystem out without also having to unset these drivers.
      
      Currently, the same effect can almost be achieved with:
      
      config DRIVER_A
      	tristate
      
      config DRIVER_B
      	tristate
      
      config DRIVER_C
      	tristate
      
      config DRIVER_D
      	tristate
      
      [...]
      
      config SUBSYSTEM_X
      	tristate
      	default DRIVER_A || DRIVER_B || DRIVER_C || DRIVER_D || [...]
      
      This is unwieldy to maintain especially with a large number of drivers.
      Furthermore, there is no easy way to restrict the choice for SUBSYSTEM_X
      to y or n, excluding m, when some drivers are built-in. The "select"
      keyword allows for excluding m, but it excludes n as well. Hence
      this "imply" keyword.  The above becomes:
      
      config DRIVER_A
      	tristate
      	imply SUBSYSTEM_X
      
      config DRIVER_B
      	tristate
      	imply SUBSYSTEM_X
      
      [...]
      
      config SUBSYSTEM_X
      	tristate
      
      This is much cleaner, and way more flexible than "select". SUBSYSTEM_X
      can still be configured out, and it can be set as a module when none of
      the drivers are configured in or all of them are modular.
      Signed-off-by: default avatarNicolas Pitre <nico@linaro.org>
      Acked-by: default avatarRichard Cochran <richardcochran@gmail.com>
      Acked-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Acked-by: default avatarJohn Stultz <john.stultz@linaro.org>
      Reviewed-by: default avatarJosh Triplett <josh@joshtriplett.org>
      Cc: Paul Bolle <pebolle@tiscali.nl>
      Cc: linux-kbuild@vger.kernel.org
      Cc: netdev@vger.kernel.org
      Cc: Michal Marek <mmarek@suse.com>
      Cc: Edward Cree <ecree@solarflare.com>
      Link: http://lkml.kernel.org/r/1478841010-28605-2-git-send-email-nicolas.pitre@linaro.orgSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      237e3ad0
  3. 09 Sep, 2016 1 commit
  4. 18 Aug, 2016 1 commit
  5. 07 Jul, 2016 1 commit
  6. 10 May, 2016 2 commits
  7. 08 Oct, 2015 1 commit
    • Luis R. Rodriguez's avatar
      kbuild: document recursive dependency limitation / resolution · 1c199f28
      Luis R. Rodriguez authored
      Recursive dependency issues with kconfig are unavoidable due to
      some limitations with kconfig, since these issues are recurring
      provide a hint to the user how they can resolve these dependency
      issues and also document why such limitation exists.
      
      While at it also document a bit of future prospects of ways to
      enhance Kconfig, including providing formal semantics and evaluation
      of use of a SAT solver. If you're interested in this work or prospects
      of it check out the kconfig-sat project wiki [0] and mailing list [1].
      
      [0] http://kernelnewbies.org/KernelProjects/kconfig-sat
      [1] https://groups.google.com/d/forum/kconfig-sat
      
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: James Bottomley <jbottomley@odin.com>
      Cc: Josh Triplett <josh@joshtriplett.org>
      Cc: Paul Bolle <pebolle@tiscali.nl>
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Cc: Takashi Iwai <tiwai@suse.de>
      Cc: "Yann E. MORIN" <yann.morin.1998@free.fr>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Mate Soos <soos.mate@gmail.com>
      Signed-off-by: default avatarLuis R. Rodriguez <mcgrof@suse.com>
      Signed-off-by: default avatarMichal Marek <mmarek@suse.com>
      1c199f28
  8. 07 Aug, 2015 1 commit
  9. 06 Jul, 2015 1 commit
    • Michal Marek's avatar
      kbuild: Allow arch Makefiles to override {cpp,ld,c}flags · 61754c18
      Michal Marek authored
      Since commit a1c48bb1 (Makefile: Fix unrecognized cross-compiler command
      line options), the arch Makefile is included earlier by the main
      Makefile, preventing the arc architecture to set its -O3 compiler
      option. Since there might be more use cases for an arch Makefile to
      fine-tune the options, add support for ARCH_CPPFLAGS, ARCH_AFLAGS and
      ARCH_CFLAGS variables that are appended to the respective kbuild
      variables. The user still has the final say via the KCPPFLAGS, KAFLAGS
      and KCFLAGS variables.
      Reported-by: default avatarVineet Gupta <Vineet.Gupta1@synopsys.com>
      Cc: stable@vger.kernel.org # 3.16+
      Signed-off-by: default avatarMichal Marek <mmarek@suse.com>
      61754c18
  10. 22 Jun, 2015 1 commit
  11. 08 Jun, 2015 1 commit
  12. 09 Jan, 2015 2 commits
  13. 08 Jan, 2015 1 commit
  14. 19 Aug, 2014 4 commits
  15. 05 Aug, 2014 1 commit
  16. 16 Jul, 2014 1 commit
  17. 18 Jun, 2014 1 commit
  18. 10 Jun, 2014 1 commit
  19. 07 Apr, 2014 1 commit
  20. 08 Oct, 2013 1 commit
  21. 05 Sep, 2013 1 commit
    • Yann E. MORIN's avatar
      kconfig: do not allow more than one symbol to have 'option modules' · e0627813
      Yann E. MORIN authored
      Previously, it was possible to have more than one symbol with the
      'option modules' attached to them, although only the last one would
      in fact control tristates.
      
      Since this does not make much sense, only allow at most one symbol to
      control tristates.
      
      Note: it is still possible to have more than one symbol that control
      tristates, but indirectly:
      
          config MOD1
              bool "mod1"
              select MODULES
          config MOD2
              bool "mod2"
              select MODULES
          config MODULES
              bool
              option modules
      Signed-off-by: default avatar"Yann E. MORIN" <yann.morin.1998@free.fr>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      e0627813
  22. 16 Jul, 2013 1 commit
  23. 24 Jun, 2013 1 commit
    • Yann E. MORIN's avatar
      kconfig: sort found symbols by relevance · 193b40ae
      Yann E. MORIN authored
      When searching for symbols, return the symbols sorted by relevance.
      
      Sorting is done as thus:
        - first, symbols that match exactly
        - then, alphabetical sort
      
      Since the search can be a regexp, it is possible that more than one symbol
      matches exactly. In this case, we can't decide which to sort first, so we
      fallback to alphabeticall sort.
      
      Explain this (new!) sorting heuristic in the documentation.
      Reported-by: default avatarJean Delvare <jdelvare@suse.de>
      Signed-off-by: default avatar"Yann E. MORIN" <yann.morin.1998@free.fr>
      Cc: Jean Delvare <jdelvare@suse.de>
      Cc: Michal Marek <mmarek@suse.cz>
      Cc: Roland Eggner <edvx1@systemanalysen.net>
      Cc: Wang YanQing <udknight@gmail.com>
      
      --
      Changes v1->v2:
        - drop the previous, complex heuristic in favour of a simpler heuristic
          that is both easier to understand, *and* to maintain (Jean)
        - explain sorting heuristic in the doc  (Jean)
      193b40ae
  24. 03 Jun, 2013 1 commit
  25. 24 Apr, 2013 2 commits
    • Yann E. MORIN's avatar
      kconfig: implement KCONFIG_PROBABILITY for randconfig · e43956e6
      Yann E. MORIN authored
      Currently the odds to set each symbol is (rounded):
          booleans:   y: 50%          n: 50%
          tristates:  y: 33%  m: 33%  n: 33%
      
      Introduce a KCONFIG_PROBABILITY environment variable to tweak the
      probabilities (in percentage), as such:
          KCONFIG_PROBABILITY     y:n split           y:m:n split
          -----------------------------------------------------------------
      [1] unset or empty          50  : 50            33  : 33  : 34
      [2] N                        N  : 100-N         N/2 : N/2 : 100-N
          N:M                     N+M : 100-(N+M)      N  :  M  : 100-(N+M)
          N:M:L                    N  : 100-N          M  :  L  : 100-(M+L)
      
      [1] The current behaviour is kept as default, for backward compatibility
      [2] The solution initially implemented by Peter for Buildroot, see:
          http://git.buildroot.org/buildroot/commit/?id=3435c1afb5Signed-off-by: default avatarPeter Korsgaard <jacmet@uclibc.org>
      [yann.morin.1998@free.fr: add to Documentation/]
      Signed-off-by: default avatar"Yann E. MORIN" <yann.morin.1998@free.fr>
      e43956e6
    • Yann E. MORIN's avatar
      kconfig: allow specifying the seed for randconfig · 0d8024c6
      Yann E. MORIN authored
      For reproducibility, it can be useful to be able to specify the
      seed to use to seed the RNG.
      
      Add a new KCONFIG_SEED environment variable which can be set to
      the seed to use:
          $ make KCONFIG_SEED=42 randconfig
          $ sha1sum .config
          70a128c8dcc61303069e1be352cce64114dfcbca  .config
          $ make KCONFIG_SEED=42 randconfig
          $ sha1sum .config
          70a128c8dcc61303069e1be352cce64114dfcbca  .config
      
      It's very usefull for eg. debugging the kconfig parser.
      Signed-off-by: default avatar"Yann E. MORIN" <yann.morin.1998@free.fr>
      0d8024c6
  26. 08 Apr, 2013 2 commits
  27. 08 Feb, 2013 1 commit
  28. 25 Dec, 2012 1 commit
  29. 06 Dec, 2012 1 commit
  30. 30 Nov, 2012 1 commit
    • Stephen Warren's avatar
      kbuild: centralize .dts->.dtb rule · 90b335fb
      Stephen Warren authored
      All architectures that use cmd_dtc do so in almost the same way. Create
      a central build rule to avoid duplication. The one difference is that
      most current uses of dtc build $(obj)/%.dtb from $(src)/dts/%.dts rather
      than building the .dtb in the same directory as the .dts file. This
      difference will be eliminated arch-by-arch in future patches.
      
      MIPS is the exception here; it already uses the exact same rule as the
      new common rule, so the duplicate is removed in this patch to avoid any
      conflict. arch/mips changes courtesy of Ralf Baechle.
      
      Update Documentation/kbuild to remove the explicit call to cmd_dtc from
      the example, now that the rule exists in a centralized location.
      
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: Olof Johansson <olof@lixom.net>
      Cc: Russell King <linux@arm.linux.org.uk>
      Acked-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Cc: Jonas Bonn <jonas@southpole.se>
      Cc: linux@lists.openrisc.net
      Cc: Aurelien Jacquiot <a-jacquiot@ti.com>
      Cc: linux-c6x-dev@linux-c6x.org
      Cc: Mark Salter <msalter@redhat.com>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: microblaze-uclinux@itee.uq.edu.au
      Cc: Chris Zankel <chris@zankel.net>
      Cc: linux-xtensa@linux-xtensa.org
      Cc: Max Filippov <jcmvbkbc@gmail.com>
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Signed-off-by: default avatarRob Herring <rob.herring@calxeda.com>
      90b335fb
  31. 19 Nov, 2012 1 commit