mbox series

[0/5] soc: qcom: remove depends on ARCH_QCOM

Message ID 20180613125401.11734-1-niklas.cassel@linaro.org
Headers show
Series soc: qcom: remove depends on ARCH_QCOM | expand

Message

Niklas Cassel June 13, 2018, 12:53 p.m. UTC
Since commit cab673583d96 ("soc: Unconditionally include qcom Makefile"),
we unconditionally include the soc/qcom/Makefile.

This opens up the possibility to compile test the code even when
building for other architectures.

This patch series prepares and enables all but two Kconfigs to be
compile tested even when building for other architectures.

Niklas Cassel (5):
  rpmsg: smd: Add missing include of sizes.h
  soc: qcom: smem: Add missing include of sizes.h
  soc: qcom: smp2p: Add select IRQ_DOMAIN
  soc: qcom: smsm: Add select IRQ_DOMAIN
  soc: qcom: Remove depends on ARCH_QCOM

 drivers/rpmsg/qcom_smd.c |  1 +
 drivers/soc/qcom/Kconfig | 12 ++++--------
 drivers/soc/qcom/smem.c  |  1 +
 3 files changed, 6 insertions(+), 8 deletions(-)

-- 
2.17.1

--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Niklas Cassel June 13, 2018, 1:48 p.m. UTC | #1
On Wed, Jun 13, 2018 at 02:54:00PM +0200, Niklas Cassel wrote:
> Since commit cab673583d96 ("soc: Unconditionally include qcom Makefile"),

> we unconditionally include the soc/qcom/Makefile.

> 

> This opens up the possibility to compile test the code even when

> building for other architectures.

> 

> Remove the depends on ARCH_QCOM for all Kconfigs, except for

> two Kconfigs that depend on QCOM_SCM, since that triggers lots of build

> errors in qcom_scm. However, that shouldn't stop us from removing

> it from those where it is possible.

> 

> Signed-off-by: Niklas Cassel <niklas.cassel@linaro.org>

> ---

>  drivers/soc/qcom/Kconfig | 10 ++--------

>  1 file changed, 2 insertions(+), 8 deletions(-)

> 

> diff --git a/drivers/soc/qcom/Kconfig b/drivers/soc/qcom/Kconfig

> index 1d4a9f3ada8c..8c83025c466e 100644

> --- a/drivers/soc/qcom/Kconfig

> +++ b/drivers/soc/qcom/Kconfig

> @@ -5,7 +5,7 @@ menu "Qualcomm SoC drivers"

>  

>  config QCOM_COMMAND_DB

>  	bool "Qualcomm Command DB"

> -	depends on (ARCH_QCOM && OF) || COMPILE_TEST

> +	depends on OF || COMPILE_TEST

>  	help

>  	  Command DB queries shared memory by key string for shared system

>  	  resources. Platform drivers that require to set state of a shared

> @@ -14,7 +14,6 @@ config QCOM_COMMAND_DB

>  

>  config QCOM_GENI_SE

>  	tristate "QCOM GENI Serial Engine Driver"

> -	depends on ARCH_QCOM || COMPILE_TEST

>  	help

>  	  This driver is used to manage Generic Interface (GENI) firmware based

>  	  Qualcomm Technologies, Inc. Universal Peripheral (QUP) Wrapper. This

> @@ -32,7 +31,6 @@ config QCOM_GLINK_SSR

>  

>  config QCOM_GSBI

>          tristate "QCOM General Serial Bus Interface"

> -        depends on ARCH_QCOM

>          select MFD_SYSCON

>          help

>            Say y here to enable GSBI support.  The GSBI provides control

> @@ -55,7 +53,7 @@ config QCOM_PM

>  

>  config QCOM_QMI_HELPERS

>  	tristate

> -	depends on ARCH_QCOM && NET

> +	depends on NET

>  	help

>  	  Helper library for handling QMI encoded messages.  QMI encoded

>  	  messages are used in communication between the majority of QRTR

> @@ -76,7 +74,6 @@ config QCOM_RMTFS_MEM

>  

>  config QCOM_SMEM

>  	tristate "Qualcomm Shared Memory Manager (SMEM)"

> -	depends on ARCH_QCOM

>  	depends on HWSPINLOCK

>  	help

>  	  Say y here to enable support for the Qualcomm Shared Memory Manager.

> @@ -85,7 +82,6 @@ config QCOM_SMEM

>  

>  config QCOM_SMD_RPM

>  	tristate "Qualcomm Resource Power Manager (RPM) over SMD"

> -	depends on ARCH_QCOM

>  	depends on RPMSG && OF

>  	help

>  	  If you say yes to this option, support will be included for the

> @@ -122,7 +118,6 @@ config QCOM_SMSM

>  

>  config QCOM_WCNSS_CTRL

>  	tristate "Qualcomm WCNSS control driver"

> -	depends on ARCH_QCOM

>  	depends on RPMSG

>  	help

>  	  Client driver for the WCNSS_CTRL SMD channel, used to download nv

> @@ -130,7 +125,6 @@ config QCOM_WCNSS_CTRL

>  

>  config QCOM_APR

>  	tristate "Qualcomm APR Bus (Asynchronous Packet Router)"

> -	depends on ARCH_QCOM

>  	depends on RPMSG

>  	help

>            Enable APR IPC protocol support between



Hello Andy

It seems like QCOM_APR is from Mark Brown's tree,
so just a heads up that you might get a conflict when applying.

Kind regards,
Niklas
--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Vivek Gautam June 14, 2018, 6:35 a.m. UTC | #2
On Wed, Jun 13, 2018 at 6:24 PM, Niklas Cassel <niklas.cassel@linaro.org> wrote:
> Since commit cab673583d96 ("soc: Unconditionally include qcom Makefile"),

> we unconditionally include the soc/qcom/Makefile.

>

> This opens up the possibility to compile test the code even when

> building for other architectures.


Why do we want to do this when all of it is qcom specific?
Besides wouldn't this increase the binary size for other platforms

>

> Remove the depends on ARCH_QCOM for all Kconfigs, except for

> two Kconfigs that depend on QCOM_SCM, since that triggers lots of build

> errors in qcom_scm. However, that shouldn't stop us from removing

> it from those where it is possible.

>

> Signed-off-by: Niklas Cassel <niklas.cassel@linaro.org>

> ---

>  drivers/soc/qcom/Kconfig | 10 ++--------

>  1 file changed, 2 insertions(+), 8 deletions(-)

>

> diff --git a/drivers/soc/qcom/Kconfig b/drivers/soc/qcom/Kconfig

> index 1d4a9f3ada8c..8c83025c466e 100644

> --- a/drivers/soc/qcom/Kconfig

> +++ b/drivers/soc/qcom/Kconfig

> @@ -5,7 +5,7 @@ menu "Qualcomm SoC drivers"

>

>  config QCOM_COMMAND_DB

>         bool "Qualcomm Command DB"

> -       depends on (ARCH_QCOM && OF) || COMPILE_TEST

> +       depends on OF || COMPILE_TEST

>         help

>           Command DB queries shared memory by key string for shared system

>           resources. Platform drivers that require to set state of a shared

> @@ -14,7 +14,6 @@ config QCOM_COMMAND_DB

>

>  config QCOM_GENI_SE

>         tristate "QCOM GENI Serial Engine Driver"

> -       depends on ARCH_QCOM || COMPILE_TEST

>         help

>           This driver is used to manage Generic Interface (GENI) firmware based

>           Qualcomm Technologies, Inc. Universal Peripheral (QUP) Wrapper. This

> @@ -32,7 +31,6 @@ config QCOM_GLINK_SSR

>

>  config QCOM_GSBI

>          tristate "QCOM General Serial Bus Interface"

> -        depends on ARCH_QCOM

>          select MFD_SYSCON

>          help

>            Say y here to enable GSBI support.  The GSBI provides control

> @@ -55,7 +53,7 @@ config QCOM_PM

>

>  config QCOM_QMI_HELPERS

>         tristate

> -       depends on ARCH_QCOM && NET

> +       depends on NET

>         help

>           Helper library for handling QMI encoded messages.  QMI encoded

>           messages are used in communication between the majority of QRTR

> @@ -76,7 +74,6 @@ config QCOM_RMTFS_MEM

>

>  config QCOM_SMEM

>         tristate "Qualcomm Shared Memory Manager (SMEM)"

> -       depends on ARCH_QCOM

>         depends on HWSPINLOCK

>         help

>           Say y here to enable support for the Qualcomm Shared Memory Manager.

> @@ -85,7 +82,6 @@ config QCOM_SMEM

>

>  config QCOM_SMD_RPM

>         tristate "Qualcomm Resource Power Manager (RPM) over SMD"

> -       depends on ARCH_QCOM

>         depends on RPMSG && OF

>         help

>           If you say yes to this option, support will be included for the

> @@ -122,7 +118,6 @@ config QCOM_SMSM

>

>  config QCOM_WCNSS_CTRL

>         tristate "Qualcomm WCNSS control driver"

> -       depends on ARCH_QCOM

>         depends on RPMSG

>         help

>           Client driver for the WCNSS_CTRL SMD channel, used to download nv

> @@ -130,7 +125,6 @@ config QCOM_WCNSS_CTRL

>

>  config QCOM_APR

>         tristate "Qualcomm APR Bus (Asynchronous Packet Router)"

> -       depends on ARCH_QCOM

>         depends on RPMSG

>         help

>            Enable APR IPC protocol support between

> --

> 2.17.1

>

> --

> To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in

> the body of a message to majordomo@vger.kernel.org

> More majordomo info at  http://vger.kernel.org/majordomo-info.html




-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation
--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Niklas Cassel June 14, 2018, 8:31 a.m. UTC | #3
On Thu, Jun 14, 2018 at 12:08:10PM +0530, Vivek Gautam wrote:
> On Thu, Jun 14, 2018 at 12:05 PM, Vivek Gautam

> <vivek.gautam@codeaurora.org> wrote:

> > On Wed, Jun 13, 2018 at 6:24 PM, Niklas Cassel <niklas.cassel@linaro.org> wrote:

> >> Since commit cab673583d96 ("soc: Unconditionally include qcom Makefile"),

> >> we unconditionally include the soc/qcom/Makefile.

> >>

> >> This opens up the possibility to compile test the code even when

> >> building for other architectures.

> >

> > Why do we want to do this when all of it is qcom specific?

> > Besides, wouldn't this increase the binary size for other platforms.


To be able to compile test drivers that select some of these Kconfigs,
even when building for other architectures.

The binary size shouldn't increase if they don't enable these Kconfigs.

> 

> Sorry, my bad. Send the message without completing.

> 

> Besides above points, the COMPILE_TEST flag should allow you

> to compile test all of these drivers. If COMPILE_TEST is missing

> in some of the configs, we should try adding that.

> Or, is there anything that I am missing here for the intention of this patch?


That is another alternative.
So either make sure that all these Kconfigs
have "depends on ARCH_QCOM || COMPILE_TEST",
or
remove ARCH_QCOM from these Kconfigs.

A third, and perhaps best alternative is to do like
drivers/soc/mediatek/Kconfig

menu "MediaTek SoC drivers"
    depends on ARCH_MEDIATEK || COMPILE_TEST

Make sure that our root menu entry depends on ARCH_QCOM || COMPILE_TEST,
that way we could remove ARCH_QCOM for all Kconfigs.

Thoughts?


Regards,
Niklas
--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Vivek Gautam June 14, 2018, 10:24 a.m. UTC | #4
Hi NIklas,


On 6/14/2018 2:01 PM, Niklas Cassel wrote:
> On Thu, Jun 14, 2018 at 12:08:10PM +0530, Vivek Gautam wrote:

>> On Thu, Jun 14, 2018 at 12:05 PM, Vivek Gautam

>> <vivek.gautam@codeaurora.org> wrote:

>>> On Wed, Jun 13, 2018 at 6:24 PM, Niklas Cassel <niklas.cassel@linaro.org> wrote:

>>>> Since commit cab673583d96 ("soc: Unconditionally include qcom Makefile"),

>>>> we unconditionally include the soc/qcom/Makefile.

>>>>

>>>> This opens up the possibility to compile test the code even when

>>>> building for other architectures.

>>> Why do we want to do this when all of it is qcom specific?

>>> Besides, wouldn't this increase the binary size for other platforms.

> To be able to compile test drivers that select some of these Kconfigs,

> even when building for other architectures.


Are these other drivers which select these Kconfigs not QCOM dependent?
We should make them so if that's not the case, and also add COMPILE_TEST
for them too.

>

> The binary size shouldn't increase if they don't enable these Kconfigs.

>

>> Sorry, my bad. Send the message without completing.

>>

>> Besides above points, the COMPILE_TEST flag should allow you

>> to compile test all of these drivers. If COMPILE_TEST is missing

>> in some of the configs, we should try adding that.

>> Or, is there anything that I am missing here for the intention of this patch?

> That is another alternative.

> So either make sure that all these Kconfigs

> have "depends on ARCH_QCOM || COMPILE_TEST",

> or

> remove ARCH_QCOM from these Kconfigs.

>

> A third, and perhaps best alternative is to do like

> drivers/soc/mediatek/Kconfig

>

> menu "MediaTek SoC drivers"

>      depends on ARCH_MEDIATEK || COMPILE_TEST

>

> Make sure that our root menu entry depends on ARCH_QCOM || COMPILE_TEST,

> that way we could remove ARCH_QCOM for all Kconfigs.

>

> Thoughts?


To me the first and third approach look same. So I will leave it to Andy 
to decide
which is cleaner.
For 2nd option, I would still say that there shouldn't be a need for 
these drivers
to be compiled outside of the ARCH_QCOM, besides for compile test purpose.

Thanks & Regards
Vivek

>

>

> Regards,

> Niklas

> --

> To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in

> the body of a message to majordomo@vger.kernel.org

> More majordomo info at  http://vger.kernel.org/majordomo-info.html


--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html