acrn-kernel/Documentation
Masahiro Yamada 3a9dd3ecb2 kconfig: make 'imply' obey the direct dependency
The 'imply' statement may create unmet direct dependency when the
implied symbol depends on m.

[Test Code]

  config FOO
          tristate "foo"
          imply BAZ

  config BAZ
          tristate "baz"
          depends on BAR

  config BAR
          def_tristate m

  config MODULES
          def_bool y
          option modules

If you set FOO=y, BAZ is also promoted to y, which results in the
following .config file:

  CONFIG_FOO=y
  CONFIG_BAZ=y
  CONFIG_BAR=m
  CONFIG_MODULES=y

This does not meet the dependency 'BAZ depends on BAR'.

Unlike 'select', what is worse, Kconfig never shows the
'WARNING: unmet direct dependencies detected for ...' for this case.

Because 'imply' is considered to be weaker than 'depends on', Kconfig
should take the direct dependency into account.

For clarification, describe this case in kconfig-language.rst too.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Acked-by: Nicolas Pitre <nico@fluxnic.net>
Tested-by: Geert Uytterhoeven <geert@linux-m68k.org>
2020-03-13 10:05:34 +09:00
..
ABI xen: branch for v5.6-rc1 2020-02-05 17:44:14 +00:00
EDID
PCI Documentation: PCI: Fix pci_alloc_irq_vectors() function name typo 2019-12-30 08:21:29 -06:00
RCU Merge branches 'doc.2019.12.10a', 'exp.2019.12.09a', 'fixes.2020.01.24a', 'kfree_rcu.2020.01.24a', 'list.2020.01.10a', 'preempt.2020.01.24a' and 'torture.2019.12.09a' into HEAD 2020-01-24 10:37:27 -08:00
accounting
admin-guide ACPI fixes for 5.6-rc4 2020-02-28 09:02:18 -08:00
arm ARM: at91: Documentation: add sam9x60 product and datasheet 2020-01-10 23:40:31 +01:00
arm64 mm: Avoid creating virtual address aliases in brk()/mmap()/mremap() 2020-02-20 10:03:14 +00:00
block docs: block/biovecs: update the location of bio.c 2020-01-10 10:23:15 -07:00
bpf
cdrom
core-api mm, tree-wide: rename put_user_page*() to unpin_user_page*() 2020-01-31 10:30:38 -08:00
cpu-freq
crypto crypto: algapi - make unregistration functions return void 2019-12-20 14:58:35 +08:00
dev-tools Documentation: kunit: fixed sphinx error in code block 2020-02-10 17:16:42 -07:00
devicetree kbuild: allow to run dt_binding_check and dtbs_check in a single command 2020-03-13 10:04:36 +09:00
doc-guide Documentation: build warnings related to missing blank lines after explicit markups has been fixed 2020-02-05 10:30:03 -07:00
driver-api Minor bug fixes for IPMI 2020-02-16 13:05:46 -08:00
fault-injection
fb fbdev: fbmem: allow overriding the number of bootup logos 2020-01-03 14:27:40 +01:00
features s390 updates for the 5.6 merge window #2 2020-02-05 17:33:35 +00:00
filesystems zonefs: fix documentation typos etc. 2020-02-21 18:09:26 +09:00
firmware-guide docs: firmware-guide: ACPI: Replace dma_request_slave_channel() with dma_request_chan() 2019-12-19 22:58:12 +01:00
firmware_class
fpga
gpu drm-misc-next for v5.6: 2020-01-03 11:43:44 +10:00
hid
hwmon Documentation/hwmon: fix xdpe12284 Sphinx warnings 2020-02-17 14:20:55 -08:00
i2c docs: i2c: writing-clients: properly name the stop condition 2020-01-29 22:02:09 +01:00
ia64
ide
iio
infiniband
input
isdn isdn: capi: dead code removal 2019-12-11 09:12:38 +01:00
kbuild kconfig: make 'imply' obey the direct dependency 2020-03-13 10:05:34 +09:00
kernel-hacking Documentation: kernel-hacking: hacking.rst: Change reference to document namespaces.rst to symbol-namespaces.rst 2019-12-19 09:36:23 -07:00
leds
livepatch
locking docs/locking: Fix outdated section names 2020-02-05 10:21:12 -07:00
m68k
maintainer Add a maintainer entry profile for documentation 2020-01-24 09:48:39 -07:00
media media updates for v5.6-rc1 2020-01-31 14:43:23 -08:00
mic
mips
misc-devices Documentation: fix Sphinx warning in xilinx_sdfec.rst 2019-12-19 09:26:25 -07:00
netlabel
networking docs: networking: phy: Rephrase paragraph for clarity 2020-02-23 20:42:47 -08:00
nios2
nvdimm docs: nvdimm: use ReST notation for subsection 2020-01-24 09:54:42 -07:00
openrisc
parisc
pcmcia
power Documentation: power: Drop reference to interface.rst 2020-02-20 11:50:59 +01:00
powerpc powerpc updates for 5.6 2020-02-04 13:06:46 +00:00
process Documentation/process: Swap out the ambassador for Canonical 2020-02-13 15:38:41 -08:00
riscv It has been a relatively quiet cycle for documentation, but there's still a 2020-01-29 15:27:31 -08:00
s390
scheduler
scsi scsi: smartpqi: Update attribute name to `driver_version` 2019-12-09 19:17:36 -05:00
security Documentation: security: core.rst: fix warnings 2019-11-22 10:01:47 -07:00
sh
sound sound updates for 5.6-rc1 2020-01-28 16:26:57 -08:00
sparc
sphinx docs: Fix empty parallelism argument 2020-02-25 03:11:04 -07:00
sphinx-static
spi
target
timers
trace A handful of small documentation fixes that wandered in. 2020-02-07 13:03:10 -08:00
translations Documentation/process: Swap out the ambassador for Canonical 2020-02-13 15:38:41 -08:00
usb docs: usb: remove some broken references 2020-01-28 13:41:22 -07:00
userspace-api staging: remove isdn capi drivers 2019-12-11 09:11:29 +01:00
virt KVM: s390: rstify new ioctls in api.rst 2020-02-24 19:28:40 +01:00
vm mm/zswap.c: add allocation hysteresis if pool limit is hit 2020-01-31 10:30:39 -08:00
w1 docs: w1: Fix a typo in omap-hdq.rst 2019-12-30 11:58:02 -07:00
watchdog
x86 docs: remove MPX from the x86 toc 2020-02-25 03:10:22 -07:00
xtensa
.gitignore
COPYING-logo
Changes
CodingStyle
DMA-API-HOWTO.txt
DMA-API.txt
DMA-ISA-LPC.txt
DMA-attributes.txt
IPMI.txt
IRQ-affinity.txt
IRQ-domain.txt
IRQ.txt
Kconfig
Makefile kbuild: remove trailing slash from devicetree/binding/ for descending 2020-03-03 20:49:21 +09:00
SubmittingPatches
asm-annotations.rst Documentation: Call out example SYM_FUNC_* usage as x86-specific 2020-01-16 12:53:16 -07:00
atomic_bitops.txt
atomic_t.txt
bus-virt-phys-mapping.txt
conf.py
crc32.txt
debugging-modules.txt
debugging-via-ohci1394.txt
digsig.txt
docutils.conf
dontdiff
futex-requeue-pi.txt
hwspinlock.txt
index.rst Here's the main documentation changes for 5.5: 2019-12-02 11:51:02 -08:00
io-mapping.txt
io_ordering.txt
irqflags-tracing.txt
kobject.txt
kprobes.txt
kref.txt
logo.gif
lzo.txt
mailbox.txt
memory-barriers.txt smp_mb__{before,after}_atomic(): update Documentation 2020-02-04 03:05:23 +00:00
nommu-mmap.txt
percpu-rw-semaphore.txt
pi-futex.txt
preempt-locking.txt
rbtree.txt
remoteproc.txt
robust-futex-ABI.txt
robust-futexes.txt
rpmsg.txt
speculation.txt
static-keys.txt
tee.txt Documentation: tee: add AMD-TEE driver details 2020-01-04 13:49:51 +08:00
this_cpu_ops.txt
unaligned-memory-access.txt
xz.txt