From patchwork Tue Jun 27 06:43:09 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bjorn Andersson X-Patchwork-Id: 9810883 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id CE4CF60351 for ; Tue, 27 Jun 2017 06:43:36 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A847D285A3 for ; Tue, 27 Jun 2017 06:43:18 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9BF1F285DB; Tue, 27 Jun 2017 06:43:18 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.5 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,RCVD_IN_DNSWL_HI,RCVD_IN_SORBS_SPAM autolearn=unavailable version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 463C2285A3 for ; Tue, 27 Jun 2017 06:43:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751498AbdF0GnP (ORCPT ); Tue, 27 Jun 2017 02:43:15 -0400 Received: from mail-pg0-f48.google.com ([74.125.83.48]:32953 "EHLO mail-pg0-f48.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751510AbdF0GnO (ORCPT ); Tue, 27 Jun 2017 02:43:14 -0400 Received: by mail-pg0-f48.google.com with SMTP id f127so11199860pgc.0 for ; Mon, 26 Jun 2017 23:43:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id; bh=9ZG2RcWlY2weltNK5/MzOn+BSs1H+BwMuHTql4RJ5Rw=; b=LfPvpQ/tCnVg3vs2TddIahJcX4J33XpOmdROg0rp2C8at59UscrluRrng/RyTyhwO+ kiAokq1N/KojAfFRPv8ppj1m+rr2jrAXnUrLiqzl7wCWaqB2hfPS9axPUJvBV3lzINKq xDFnINFNeEvVviu++Gfj8NHUcy0ty8j6aLGcM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=9ZG2RcWlY2weltNK5/MzOn+BSs1H+BwMuHTql4RJ5Rw=; b=fyV8Me1fhSTwhvasWvCi0e2s3lId9Ux5OcNMC9xXQaU2YDWwEwzbnIRoOCk4GCS01S qhQqWSwEmOtRLDoIua36pM6VxOl6j6UdNCH9UMfql7mu/HEQAwPJ/BVP7+JMa0urkrfc GKPJ9WKm25Q0WimQtgOOGfC54/SdUAnNh4KUE+s9m2Zn9SRZpwJO3PtRyiD7Hn+cT9vG nXm1p8DMktQV8dnGgzeuxfZllIdQgAntGfbCP3go5CzMhOYYIdQp9ALtPig3fZwMEA+x dbAaKZFQL//9SLPnDgYzdx3P0rCJTUyPf9cH+74TxbnTONKMcpxETyYR5L7S2hZJn8cV juRw== X-Gm-Message-State: AKS2vOzraD4xWU1qu3tgxvIhkCtIIimQ6BEOpBkhmlVO2Lz8cVdOB0pS 2OTJ2EoLWCRtGKWL X-Received: by 10.84.129.97 with SMTP id 88mr4219519plb.111.1498545793174; Mon, 26 Jun 2017 23:43:13 -0700 (PDT) Received: from localhost.localdomain (ip68-111-217-79.sd.sd.cox.net. [68.111.217.79]) by smtp.gmail.com with ESMTPSA id e189sm3648615pfe.100.2017.06.26.23.43.11 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 26 Jun 2017 23:43:12 -0700 (PDT) From: Bjorn Andersson To: Ohad Ben-Cohen , Bjorn Andersson , Peter Griffin , Mauro Carvalho Chehab , Hugues Fruchet , Loic Pallardy Cc: Arnd Bergmann , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-remoteproc@vger.kernel.org Subject: [PATCH] rpmsg: Solve circular dependencies involving RPMSG_VIRTIO Date: Mon, 26 Jun 2017 23:43:09 -0700 Message-Id: <20170627064309.16507-1-bjorn.andersson@linaro.org> X-Mailer: git-send-email 2.12.0 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP While it's very common to use RPMSG for communicating with firmware running on these remoteprocs there is no functional dependency on RPMSG. As such RPMSG should be selected by the system integrator and not automatically by the remoteproc drivers. This does solve problems reported with circular Kconfig dependencies for Davinci and Keystone remoteproc drivers. Signed-off-by: Bjorn Andersson Acked-by: Arnd Bergmann --- drivers/media/platform/Kconfig | 2 +- drivers/remoteproc/Kconfig | 4 ---- drivers/rpmsg/Kconfig | 20 +++++++++----------- 3 files changed, 10 insertions(+), 16 deletions(-) diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig index 1313cd533436..cb2f31cd0088 100644 --- a/drivers/media/platform/Kconfig +++ b/drivers/media/platform/Kconfig @@ -382,10 +382,10 @@ config VIDEO_STI_DELTA_DRIVER tristate depends on VIDEO_STI_DELTA depends on VIDEO_STI_DELTA_MJPEG + depends on RPMSG default VIDEO_STI_DELTA_MJPEG select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV - select RPMSG endif # VIDEO_STI_DELTA diff --git a/drivers/remoteproc/Kconfig b/drivers/remoteproc/Kconfig index b950e6cd4ba2..3b16f422d30c 100644 --- a/drivers/remoteproc/Kconfig +++ b/drivers/remoteproc/Kconfig @@ -21,7 +21,6 @@ config OMAP_REMOTEPROC depends on REMOTEPROC select MAILBOX select OMAP2PLUS_MBOX - select RPMSG_VIRTIO help Say y here to support OMAP's remote processors (dual M3 and DSP on OMAP4) via the remote processor framework. @@ -53,7 +52,6 @@ config DA8XX_REMOTEPROC depends on ARCH_DAVINCI_DA8XX depends on REMOTEPROC depends on DMA_CMA - select RPMSG_VIRTIO help Say y here to support DA8xx/OMAP-L13x remote processors via the remote processor framework. @@ -76,7 +74,6 @@ config KEYSTONE_REMOTEPROC depends on ARCH_KEYSTONE depends on RESET_CONTROLLER depends on REMOTEPROC - select RPMSG_VIRTIO help Say Y here here to support Keystone remote processors (DSP) via the remote processor framework. @@ -133,7 +130,6 @@ config ST_REMOTEPROC depends on REMOTEPROC select MAILBOX select STI_MBOX - select RPMSG_VIRTIO help Say y here to support ST's adjunct processors via the remote processor framework. diff --git a/drivers/rpmsg/Kconfig b/drivers/rpmsg/Kconfig index 2a5d2b446de2..46f3f2431d68 100644 --- a/drivers/rpmsg/Kconfig +++ b/drivers/rpmsg/Kconfig @@ -1,8 +1,5 @@ -menu "Rpmsg drivers" - -# RPMSG always gets selected by whoever wants it -config RPMSG - tristate +menuconfig RPMSG + tristate "Rpmsg drivers" config RPMSG_CHAR tristate "RPMSG device interface" @@ -15,7 +12,7 @@ config RPMSG_CHAR config RPMSG_QCOM_GLINK_RPM tristate "Qualcomm RPM Glink driver" - select RPMSG + depends on RPMSG depends on HAS_IOMEM depends on MAILBOX help @@ -26,16 +23,17 @@ config RPMSG_QCOM_GLINK_RPM config RPMSG_QCOM_SMD tristate "Qualcomm Shared Memory Driver (SMD)" depends on QCOM_SMEM - select RPMSG + depends on RPMSG help Say y here to enable support for the Qualcomm Shared Memory Driver providing communication channels to remote processors in Qualcomm platforms. config RPMSG_VIRTIO - tristate - select RPMSG + tristate "Virtio remote processor messaging driver (RPMSG)" + depends on RPMSG select VIRTIO select VIRTUALIZATION - -endmenu + help + Say y here to enable support for the Virtio remote processor + messaging protocol (RPMSG).