Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

remoteproc: Update Kconfig setup to 'depends on REMOTEPROC'

Make REMOTEPROC core a selectable kconfig option, and update
remoteproc client drivers to 'depends on' the core. This avoids
some nasty Kconfig recursive dependency issues. Also when using
menuconfig client drivers will be hidden until the core has been
enabled.

Documentation/kbuild/kconfig-language.txt:

Note:
select should be used with care. select will force
a symbol to a value without visiting the dependencies.
By abusing select you are able to select a symbol FOO even
if FOO depends on BAR that is not set.
In general use select only for non-visible symbols
(no prompts anywhere) and for symbols with no dependencies.
That will limit the usefulness but on the other hand avoid
the illegal configurations all over.

Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>

authored by

Peter Griffin and committed by
Vinod Koul
e41ddbc0 c9d7cc3e

+12 -8
+12 -8
drivers/remoteproc/Kconfig
··· 1 1 menu "Remoteproc drivers" 2 2 3 - # REMOTEPROC gets selected by whoever wants it 4 3 config REMOTEPROC 5 - tristate 4 + tristate "Support for Remote Processor subsystem" 6 5 depends on HAS_DMA 7 6 select CRC32 8 7 select FW_LOADER 9 8 select VIRTIO 10 9 select VIRTUALIZATION 11 10 11 + if REMOTEPROC 12 + 12 13 config OMAP_REMOTEPROC 13 14 tristate "OMAP remoteproc support" 14 15 depends on HAS_DMA 15 16 depends on ARCH_OMAP4 || SOC_OMAP5 16 17 depends on OMAP_IOMMU 17 - select REMOTEPROC 18 + depends on REMOTEPROC 18 19 select MAILBOX 19 20 select OMAP2PLUS_MBOX 20 21 select RPMSG_VIRTIO ··· 35 34 config STE_MODEM_RPROC 36 35 tristate "STE-Modem remoteproc support" 37 36 depends on HAS_DMA 38 - select REMOTEPROC 37 + depends on REMOTEPROC 39 38 default n 40 39 help 41 40 Say y or m here to support STE-Modem shared memory driver. ··· 45 44 config WKUP_M3_RPROC 46 45 tristate "AMx3xx Wakeup M3 remoteproc support" 47 46 depends on SOC_AM33XX || SOC_AM43XX 48 - select REMOTEPROC 47 + depends on REMOTEPROC 49 48 help 50 49 Say y here to support Wakeup M3 remote processor on TI AM33xx 51 50 and AM43xx family of SoCs. ··· 58 57 config DA8XX_REMOTEPROC 59 58 tristate "DA8xx/OMAP-L13x remoteproc support" 60 59 depends on ARCH_DAVINCI_DA8XX 60 + depends on REMOTEPROC 61 61 select CMA if MMU 62 62 select RPMSG_VIRTIO 63 63 help ··· 85 83 tristate "Qualcomm Hexagon V5 Peripherial Image Loader" 86 84 depends on OF && ARCH_QCOM 87 85 depends on QCOM_SMEM 86 + depends on REMOTEPROC 88 87 select MFD_SYSCON 89 88 select QCOM_MDT_LOADER 90 - select REMOTEPROC 91 89 help 92 90 Say y here to support the Qualcomm Peripherial Image Loader for the 93 91 Hexagon V5 based remote processors. ··· 111 109 config ST_REMOTEPROC 112 110 tristate "ST remoteproc support" 113 111 depends on ARCH_STI 114 - select REMOTEPROC 112 + depends on REMOTEPROC 115 113 help 116 114 Say y here to support ST's adjunct processors via the remote 117 115 processor framework. ··· 119 117 120 118 config ST_SLIM_REMOTEPROC 121 119 tristate 122 - select REMOTEPROC 120 + depends on REMOTEPROC 121 + 122 + endif # REMOTEPROC 123 123 124 124 endmenu