linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Peter Griffin <peter.griffin@linaro.org>
To: linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, kernel@stlinux.com,
	bjorn.andersson@linaro.org, vinod.koul@intel.com,
	ohad@wizery.com
Cc: peter.griffin@linaro.org, lee.jones@linaro.org,
	dmaengine@vger.kernel.org, remoteproc@vger.kernel.org
Subject: [PATCH v11 01/14] remoteproc: Update Kconfig setup to 'depends on REMOTEPROC'
Date: Mon,  7 Nov 2016 18:17:32 +0000	[thread overview]
Message-ID: <1478542665-17089-2-git-send-email-peter.griffin@linaro.org> (raw)
In-Reply-To: <1478542665-17089-1-git-send-email-peter.griffin@linaro.org>

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>
---
 drivers/remoteproc/Kconfig | 21 ++++++++++++---------
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/drivers/remoteproc/Kconfig b/drivers/remoteproc/Kconfig
index f396bfe..a244b1a 100644
--- a/drivers/remoteproc/Kconfig
+++ b/drivers/remoteproc/Kconfig
@@ -1,20 +1,21 @@
 menu "Remoteproc drivers"
 
-# REMOTEPROC gets selected by whoever wants it
 config REMOTEPROC
-	tristate
+	tristate "Support for Remote Processor subsystem"
 	depends on HAS_DMA
 	select CRC32
 	select FW_LOADER
 	select VIRTIO
 	select VIRTUALIZATION
 
+if REMOTEPROC
+
 config OMAP_REMOTEPROC
 	tristate "OMAP remoteproc support"
 	depends on HAS_DMA
 	depends on ARCH_OMAP4 || SOC_OMAP5
 	depends on OMAP_IOMMU
-	select REMOTEPROC
+	depends on REMOTEPROC
 	select MAILBOX
 	select OMAP2PLUS_MBOX
 	select RPMSG_VIRTIO
@@ -34,7 +35,7 @@ config OMAP_REMOTEPROC
 config STE_MODEM_RPROC
 	tristate "STE-Modem remoteproc support"
 	depends on HAS_DMA
-	select REMOTEPROC
+	depends on REMOTEPROC
 	default n
 	help
 	  Say y or m here to support STE-Modem shared memory driver.
@@ -44,7 +45,7 @@ config STE_MODEM_RPROC
 config WKUP_M3_RPROC
 	tristate "AMx3xx Wakeup M3 remoteproc support"
 	depends on SOC_AM33XX || SOC_AM43XX
-	select REMOTEPROC
+	depends on REMOTEPROC
 	help
 	  Say y here to support Wakeup M3 remote processor on TI AM33xx
 	  and AM43xx family of SoCs.
@@ -57,8 +58,8 @@ config WKUP_M3_RPROC
 config DA8XX_REMOTEPROC
 	tristate "DA8xx/OMAP-L13x remoteproc support"
 	depends on ARCH_DAVINCI_DA8XX
+	depends on REMOTEPROC
 	select CMA if MMU
-	select REMOTEPROC
 	select RPMSG_VIRTIO
 	help
 	  Say y here to support DA8xx/OMAP-L13x remote processors via the
@@ -84,9 +85,9 @@ config QCOM_Q6V5_PIL
 	tristate "Qualcomm Hexagon V5 Peripherial Image Loader"
 	depends on OF && ARCH_QCOM
 	depends on QCOM_SMEM
+	depends on REMOTEPROC
 	select MFD_SYSCON
 	select QCOM_MDT_LOADER
-	select REMOTEPROC
 	help
 	  Say y here to support the Qualcomm Peripherial Image Loader for the
 	  Hexagon V5 based remote processors.
@@ -102,7 +103,7 @@ config QCOM_WCNSS_PIL
 	select QCOM_MDT_LOADER
 	select QCOM_SCM
 	select QCOM_WCNSS_IRIS
-	select REMOTEPROC
+	depends on REMOTEPROC
 	help
 	  Say y here to support the Peripheral Image Loader for the Qualcomm
 	  Wireless Connectivity Subsystem.
@@ -110,10 +111,12 @@ config QCOM_WCNSS_PIL
 config ST_REMOTEPROC
 	tristate "ST remoteproc support"
 	depends on ARCH_STI
-	select REMOTEPROC
+	depends on REMOTEPROC
 	help
 	  Say y here to support ST's adjunct processors via the remote
 	  processor framework.
 	  This can be either built-in or a loadable module.
 
+endif # REMOTEPROC
+
 endmenu
-- 
2.7.4

  reply	other threads:[~2016-11-07 18:21 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-07 18:17 [PATCH v11 00/14] Add support for FDMA DMA controller and slim core rproc found on STi chipsets Peter Griffin
2016-11-07 18:17 ` Peter Griffin [this message]
2016-11-07 18:17 ` [PATCH v11 02/14] remoteproc: st_slim_rproc: add a slimcore rproc driver Peter Griffin
2016-11-07 18:17 ` [PATCH v11 03/14] MAINTAINERS: Add st slim core rproc driver to STi section Peter Griffin
2016-11-07 18:17 ` [PATCH v11 04/14] dmaengine: st_fdma: Add STMicroelectronics FDMA DT binding documentation Peter Griffin
2016-11-07 18:17 ` [PATCH v11 05/14] dmaengine: st_fdma: Add STMicroelectronics FDMA driver header file Peter Griffin
2016-11-07 18:17 ` [PATCH v11 06/14] dmaengine: st_fdma: Add STMicroelectronics FDMA engine driver support Peter Griffin
2016-11-07 18:17 ` [PATCH v11 07/14] MAINTAINERS: Add FDMA driver files to STi section Peter Griffin
2016-11-07 18:17 ` [PATCH v11 08/14] ARM: multi_v7_defconfig: Enable remoteproc core Peter Griffin
2016-11-07 18:17 ` [PATCH v11 09/14] ARM: multi_v7_defconfig: Enable st_remoteproc driver Peter Griffin
2016-11-07 18:17 ` [PATCH v11 10/14] ARM: multi_v7_defconfig: Enable STi FDMA driver Peter Griffin
2016-11-07 18:17 ` [PATCH v11 11/14] ARM: multi_v7_defconfig: Enable STi and simple-card drivers Peter Griffin
2016-11-07 18:17 ` [PATCH v11 12/14] dmaengine: st_fdma: fix uninitialized variable access Peter Griffin
2016-11-07 18:17 ` [PATCH v11 13/14] dmaengine: st_fdma: Fix the error return code in st_fdma_probe() Peter Griffin
2016-11-07 18:17 ` [PATCH v11 14/14] dmaengine: st_fdma: Update st_fdma to 'depends on REMOTEPROC' Peter Griffin
2016-11-14  5:19 ` [PATCH v11 00/14] Add support for FDMA DMA controller and slim core rproc found on STi chipsets Vinod Koul

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1478542665-17089-2-git-send-email-peter.griffin@linaro.org \
    --to=peter.griffin@linaro.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=dmaengine@vger.kernel.org \
    --cc=kernel@stlinux.com \
    --cc=lee.jones@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ohad@wizery.com \
    --cc=remoteproc@vger.kernel.org \
    --cc=vinod.koul@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).