2017-06-27 22:46:50

by Suman Anna

[permalink] [raw]
Subject: [PATCH 0/4] Some remoteproc/rpmsg Kconfig cleanups

Hi Bjorn,

The following are some Kconfig related cleanups on rpmsg and remoteproc
to help resolve the current build related warnings reported on linux-next
after the rpmsg for-next merges.

The first 2 patches drop the VIRTUALIZATION dependency (there is never
a true dependency) that were introduced a long while back to fix a
dependency issue on VIRTIO, and is no longer needed. This cleanup
results in the elimination of the ppc64_defconfig warnings against
the davinci remoteproc driver (davinci is ARMv5, and should have no
dependency against PPC arch whatsoever, that warning can be seen
without the keystone remoteproc patches).

The third patch is a pure cleanup patch, and the last patch is an
alternate fix for the linux-next Kconfig warnings, without your patch
to change the RPMSG_VIRTIO dependency [1]. Last patch can also go with
your patch, but feel free to drop it if picking up your patch instead.

Patches are based directly on linux-next 20170627 tag, They also apply
fine on mainline 4.12-rcs.

regards
Suman

[1] https://patchwork.kernel.org/patch/9810881/

Suman Anna (4):
rpmsg: Drop VIRTUALIZATION dependency from RPMSG_VIRTIO
remoteproc: Drop VIRTUALIZATION dependency from REMOTEPROC
remoteproc: Drop redundant REMOTEPROC dependency from driver Kconfigs
remoteproc/keystone: Fix circular dependencies for ARM configs

drivers/remoteproc/Kconfig | 11 -----------
drivers/rpmsg/Kconfig | 1 -
2 files changed, 12 deletions(-)

--
2.13.1


2017-06-27 22:46:47

by Suman Anna

[permalink] [raw]
Subject: [PATCH 1/4] rpmsg: Drop VIRTUALIZATION dependency from RPMSG_VIRTIO

A dependency to VIRTUALIZATION has been added to RPMSG_VIRTIO (back
when it was named RPMSG) in v3.10 kernel in commit 397944df3290
("rpmsg: fix kconfig dependencies for VIRTIO") to resolve Kconfig
warnings due to the inclusion of the virtio configuration file from
the ARM's KVM config file. The KVM config was fixed properly in the
subsequent release in commit 8bd4ffd6b3a9 ("ARM: kvm: don't include
drivers/virtio/Kconfig"). So, drop this unneeded VIRTUALIZATION
dependency from RPMSG_VIRTIO.

Signed-off-by: Suman Anna <[email protected]>
---
drivers/rpmsg/Kconfig | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/rpmsg/Kconfig b/drivers/rpmsg/Kconfig
index 2a5d2b446de2..1323a245763b 100644
--- a/drivers/rpmsg/Kconfig
+++ b/drivers/rpmsg/Kconfig
@@ -36,6 +36,5 @@ config RPMSG_VIRTIO
tristate
select RPMSG
select VIRTIO
- select VIRTUALIZATION

endmenu
--
2.13.1

2017-06-27 22:46:51

by Suman Anna

[permalink] [raw]
Subject: [PATCH 3/4] remoteproc: Drop redundant REMOTEPROC dependency from driver Kconfigs

All the remoteproc platform driver Kconfig symbols are defined and
included under an if REMOTEPROC condition, so the dependency on
REMOTEPROC is implicit and they do not need an explicit 'depends
on REMOTEPROC' line. So, clean these up.

Signed-off-by: Suman Anna <[email protected]>
---
drivers/remoteproc/Kconfig | 9 ---------
1 file changed, 9 deletions(-)

diff --git a/drivers/remoteproc/Kconfig b/drivers/remoteproc/Kconfig
index ea344fbf378a..945c1574f896 100644
--- a/drivers/remoteproc/Kconfig
+++ b/drivers/remoteproc/Kconfig
@@ -17,7 +17,6 @@ config OMAP_REMOTEPROC
depends on HAS_DMA
depends on ARCH_OMAP4 || SOC_OMAP5
depends on OMAP_IOMMU
- depends on REMOTEPROC
select MAILBOX
select OMAP2PLUS_MBOX
select RPMSG_VIRTIO
@@ -37,7 +36,6 @@ config OMAP_REMOTEPROC
config WKUP_M3_RPROC
tristate "AMx3xx Wakeup M3 remoteproc support"
depends on SOC_AM33XX || SOC_AM43XX
- depends on REMOTEPROC
help
Say y here to support Wakeup M3 remote processor on TI AM33xx
and AM43xx family of SoCs.
@@ -50,7 +48,6 @@ config WKUP_M3_RPROC
config DA8XX_REMOTEPROC
tristate "DA8xx/OMAP-L13x remoteproc support"
depends on ARCH_DAVINCI_DA8XX
- depends on REMOTEPROC
depends on DMA_CMA
select RPMSG_VIRTIO
help
@@ -74,7 +71,6 @@ config KEYSTONE_REMOTEPROC
tristate "Keystone Remoteproc support"
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)
@@ -86,7 +82,6 @@ config KEYSTONE_REMOTEPROC
config QCOM_ADSP_PIL
tristate "Qualcomm ADSP Peripheral Image Loader"
depends on OF && ARCH_QCOM
- depends on REMOTEPROC
depends on QCOM_SMEM
depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
select MFD_SYSCON
@@ -104,7 +99,6 @@ config QCOM_Q6V5_PIL
tristate "Qualcomm Hexagon V5 Peripherial Image Loader"
depends on OF && ARCH_QCOM
depends on QCOM_SMEM
- depends on REMOTEPROC
depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
select MFD_SYSCON
select QCOM_RPROC_COMMON
@@ -118,7 +112,6 @@ config QCOM_WCNSS_PIL
depends on OF && ARCH_QCOM
depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
depends on QCOM_SMEM
- depends on REMOTEPROC
select QCOM_MDT_LOADER
select QCOM_RPROC_COMMON
select QCOM_SCM
@@ -129,7 +122,6 @@ config QCOM_WCNSS_PIL
config ST_REMOTEPROC
tristate "ST remoteproc support"
depends on ARCH_STI
- depends on REMOTEPROC
select MAILBOX
select STI_MBOX
select RPMSG_VIRTIO
@@ -140,7 +132,6 @@ config ST_REMOTEPROC

config ST_SLIM_REMOTEPROC
tristate
- depends on REMOTEPROC

endif # REMOTEPROC

--
2.13.1

2017-06-27 22:47:22

by Suman Anna

[permalink] [raw]
Subject: [PATCH 4/4] remoteproc/keystone: Fix circular dependencies for ARM configs

Drop the dependency on RESET_CONTROLLER for the Keystone remoteproc
driver to resolve some circular dependencies around different choices
for RESET_CONTROLLER on common ARM configs. This dependency is
inherent as the RESET_CONTROLLER will be enabled due to the enabled
ARCH_HAS_RESET_CONTROLLER for ARCH_KEYSTONE.

Signed-off-by: Suman Anna <[email protected]>
---
drivers/remoteproc/Kconfig | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/remoteproc/Kconfig b/drivers/remoteproc/Kconfig
index 945c1574f896..8891a8e50f12 100644
--- a/drivers/remoteproc/Kconfig
+++ b/drivers/remoteproc/Kconfig
@@ -70,7 +70,6 @@ config DA8XX_REMOTEPROC
config KEYSTONE_REMOTEPROC
tristate "Keystone Remoteproc support"
depends on ARCH_KEYSTONE
- depends on RESET_CONTROLLER
select RPMSG_VIRTIO
help
Say Y here here to support Keystone remote processors (DSP)
--
2.13.1

2017-06-27 22:47:49

by Suman Anna

[permalink] [raw]
Subject: [PATCH 2/4] remoteproc: Drop VIRTUALIZATION dependency from REMOTEPROC

A dependency to VIRTUALIZATION has been added to REMOTEPROC in v3.10
kernel in commit b9777859ec01 ("remoteproc: fix kconfig dependencies
for VIRTIO") to resolve Kconfig warnings due to the inclusion of the
virtio configuration file from the ARM's KVM config file. The KVM
config was fixed properly in the subsequent release in commit
8bd4ffd6b3a9 ("ARM: kvm: don't include drivers/virtio/Kconfig").
So, drop this unneeded VIRTUALIZATION dependency from REMOTEPROC.

Signed-off-by: Suman Anna <[email protected]>
---
drivers/remoteproc/Kconfig | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/remoteproc/Kconfig b/drivers/remoteproc/Kconfig
index b950e6cd4ba2..ea344fbf378a 100644
--- a/drivers/remoteproc/Kconfig
+++ b/drivers/remoteproc/Kconfig
@@ -6,7 +6,6 @@ config REMOTEPROC
select CRC32
select FW_LOADER
select VIRTIO
- select VIRTUALIZATION
help
Support for remote processors (such as DSP coprocessors). These
are mainly used on embedded systems.
--
2.13.1

2017-06-27 23:41:00

by Bjorn Andersson

[permalink] [raw]
Subject: Re: [PATCH 4/4] remoteproc/keystone: Fix circular dependencies for ARM configs

On Tue 27 Jun 15:46 PDT 2017, Suman Anna wrote:

> Drop the dependency on RESET_CONTROLLER for the Keystone remoteproc
> driver to resolve some circular dependencies around different choices
> for RESET_CONTROLLER on common ARM configs. This dependency is
> inherent as the RESET_CONTROLLER will be enabled due to the enabled
> ARCH_HAS_RESET_CONTROLLER for ARCH_KEYSTONE.
>

As my approach requires synchronized changes to rproc-next and
rpmsg-next and we're close to the merge window I'll pick this
"workaround" for now, thanks!

I do think it's appropriate for the Keystone remoteproc driver to
express its dependency on reset-controller, so I intend to revert this
as I look into this issue after -rc1 again.


Merged all 4 patches.

Regards,
Bjorn

> Signed-off-by: Suman Anna <[email protected]>
> ---
> drivers/remoteproc/Kconfig | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/drivers/remoteproc/Kconfig b/drivers/remoteproc/Kconfig
> index 945c1574f896..8891a8e50f12 100644
> --- a/drivers/remoteproc/Kconfig
> +++ b/drivers/remoteproc/Kconfig
> @@ -70,7 +70,6 @@ config DA8XX_REMOTEPROC
> config KEYSTONE_REMOTEPROC
> tristate "Keystone Remoteproc support"
> depends on ARCH_KEYSTONE
> - depends on RESET_CONTROLLER
> select RPMSG_VIRTIO
> help
> Say Y here here to support Keystone remote processors (DSP)
> --
> 2.13.1
>

2017-06-28 16:21:46

by Suman Anna

[permalink] [raw]
Subject: Re: [PATCH 4/4] remoteproc/keystone: Fix circular dependencies for ARM configs

On 06/27/2017 06:40 PM, Bjorn Andersson wrote:
> On Tue 27 Jun 15:46 PDT 2017, Suman Anna wrote:
>
>> Drop the dependency on RESET_CONTROLLER for the Keystone remoteproc
>> driver to resolve some circular dependencies around different choices
>> for RESET_CONTROLLER on common ARM configs. This dependency is
>> inherent as the RESET_CONTROLLER will be enabled due to the enabled
>> ARCH_HAS_RESET_CONTROLLER for ARCH_KEYSTONE.
>>
>
> As my approach requires synchronized changes to rproc-next and
> rpmsg-next and we're close to the merge window I'll pick this
> "workaround" for now, thanks!
>
> I do think it's appropriate for the Keystone remoteproc driver to
> express its dependency on reset-controller, so I intend to revert this
> as I look into this issue after -rc1 again.
>
> Merged all 4 patches.

Great, thanks.

regards
Suman

>
> Regards,
> Bjorn
>
>> Signed-off-by: Suman Anna <[email protected]>
>> ---
>> drivers/remoteproc/Kconfig | 1 -
>> 1 file changed, 1 deletion(-)
>>
>> diff --git a/drivers/remoteproc/Kconfig b/drivers/remoteproc/Kconfig
>> index 945c1574f896..8891a8e50f12 100644
>> --- a/drivers/remoteproc/Kconfig
>> +++ b/drivers/remoteproc/Kconfig
>> @@ -70,7 +70,6 @@ config DA8XX_REMOTEPROC
>> config KEYSTONE_REMOTEPROC
>> tristate "Keystone Remoteproc support"
>> depends on ARCH_KEYSTONE
>> - depends on RESET_CONTROLLER
>> select RPMSG_VIRTIO
>> help
>> Say Y here here to support Keystone remote processors (DSP)
>> --
>> 2.13.1
>>