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>
This commit is contained in:
Peter Griffin 2016-10-18 10:39:08 +01:00 committed by Vinod Koul
parent c9d7cc3e76
commit e41ddbc00e
1 changed files with 12 additions and 8 deletions

View File

@ -1,20 +1,21 @@
menu "Remoteproc drivers" menu "Remoteproc drivers"
# REMOTEPROC gets selected by whoever wants it
config REMOTEPROC config REMOTEPROC
tristate tristate "Support for Remote Processor subsystem"
depends on HAS_DMA depends on HAS_DMA
select CRC32 select CRC32
select FW_LOADER select FW_LOADER
select VIRTIO select VIRTIO
select VIRTUALIZATION select VIRTUALIZATION
if REMOTEPROC
config OMAP_REMOTEPROC config OMAP_REMOTEPROC
tristate "OMAP remoteproc support" tristate "OMAP remoteproc support"
depends on HAS_DMA depends on HAS_DMA
depends on ARCH_OMAP4 || SOC_OMAP5 depends on ARCH_OMAP4 || SOC_OMAP5
depends on OMAP_IOMMU depends on OMAP_IOMMU
select REMOTEPROC depends on REMOTEPROC
select MAILBOX select MAILBOX
select OMAP2PLUS_MBOX select OMAP2PLUS_MBOX
select RPMSG_VIRTIO select RPMSG_VIRTIO
@ -34,7 +35,7 @@ config OMAP_REMOTEPROC
config STE_MODEM_RPROC config STE_MODEM_RPROC
tristate "STE-Modem remoteproc support" tristate "STE-Modem remoteproc support"
depends on HAS_DMA depends on HAS_DMA
select REMOTEPROC depends on REMOTEPROC
default n default n
help help
Say y or m here to support STE-Modem shared memory driver. Say y or m here to support STE-Modem shared memory driver.
@ -44,7 +45,7 @@ config STE_MODEM_RPROC
config WKUP_M3_RPROC config WKUP_M3_RPROC
tristate "AMx3xx Wakeup M3 remoteproc support" tristate "AMx3xx Wakeup M3 remoteproc support"
depends on SOC_AM33XX || SOC_AM43XX depends on SOC_AM33XX || SOC_AM43XX
select REMOTEPROC depends on REMOTEPROC
help help
Say y here to support Wakeup M3 remote processor on TI AM33xx Say y here to support Wakeup M3 remote processor on TI AM33xx
and AM43xx family of SoCs. and AM43xx family of SoCs.
@ -57,6 +58,7 @@ config WKUP_M3_RPROC
config DA8XX_REMOTEPROC config DA8XX_REMOTEPROC
tristate "DA8xx/OMAP-L13x remoteproc support" tristate "DA8xx/OMAP-L13x remoteproc support"
depends on ARCH_DAVINCI_DA8XX depends on ARCH_DAVINCI_DA8XX
depends on REMOTEPROC
select CMA if MMU select CMA if MMU
select RPMSG_VIRTIO select RPMSG_VIRTIO
help help
@ -83,9 +85,9 @@ config QCOM_Q6V5_PIL
tristate "Qualcomm Hexagon V5 Peripherial Image Loader" tristate "Qualcomm Hexagon V5 Peripherial Image Loader"
depends on OF && ARCH_QCOM depends on OF && ARCH_QCOM
depends on QCOM_SMEM depends on QCOM_SMEM
depends on REMOTEPROC
select MFD_SYSCON select MFD_SYSCON
select QCOM_MDT_LOADER select QCOM_MDT_LOADER
select REMOTEPROC
help help
Say y here to support the Qualcomm Peripherial Image Loader for the Say y here to support the Qualcomm Peripherial Image Loader for the
Hexagon V5 based remote processors. Hexagon V5 based remote processors.
@ -109,7 +111,7 @@ config QCOM_WCNSS_PIL
config ST_REMOTEPROC config ST_REMOTEPROC
tristate "ST remoteproc support" tristate "ST remoteproc support"
depends on ARCH_STI depends on ARCH_STI
select REMOTEPROC depends on REMOTEPROC
help help
Say y here to support ST's adjunct processors via the remote Say y here to support ST's adjunct processors via the remote
processor framework. processor framework.
@ -117,6 +119,8 @@ config ST_REMOTEPROC
config ST_SLIM_REMOTEPROC config ST_SLIM_REMOTEPROC
tristate tristate
select REMOTEPROC depends on REMOTEPROC
endif # REMOTEPROC
endmenu endmenu