linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 0/6] soc: qcom: Allow COMPILE_TEST of qcom SoC Kconfigs
@ 2018-08-27 11:35 Niklas Cassel
  2018-08-27 11:35 ` [PATCH v5 1/6] soc: qcom: smem: Add missing include of sizes.h Niklas Cassel
                   ` (5 more replies)
  0 siblings, 6 replies; 8+ messages in thread
From: Niklas Cassel @ 2018-08-27 11:35 UTC (permalink / raw)
  To: Andy Gross, David Brown
  Cc: Niklas Cassel, linux-arm-msm, linux-soc, linux-kernel

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.


Changes since v3:
-Picked up Vinod's Reviewed-by tags.
-Rebased against v4.19-rc1

Niklas Cassel (6):
  soc: qcom: smem: Add missing include of sizes.h
  soc: qcom: llcc-slice: Add missing include of sizes.h
  soc: qcom: smp2p: Add select IRQ_DOMAIN
  soc: qcom: smsm: Add select IRQ_DOMAIN
  soc: qcom: Remove bogus depends on OF from QCOM_SMD_RPM
  soc: qcom: Allow COMPILE_TEST of qcom SoC Kconfigs

 drivers/soc/qcom/Kconfig      | 19 +++++++++++--------
 drivers/soc/qcom/llcc-slice.c |  1 +
 drivers/soc/qcom/smem.c       |  1 +
 3 files changed, 13 insertions(+), 8 deletions(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v5 1/6] soc: qcom: smem: Add missing include of sizes.h
  2018-08-27 11:35 [PATCH v5 0/6] soc: qcom: Allow COMPILE_TEST of qcom SoC Kconfigs Niklas Cassel
@ 2018-08-27 11:35 ` Niklas Cassel
  2018-08-27 11:36 ` [PATCH v5 2/6] soc: qcom: llcc-slice: " Niklas Cassel
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Niklas Cassel @ 2018-08-27 11:35 UTC (permalink / raw)
  To: Andy Gross, David Brown
  Cc: Niklas Cassel, linux-arm-msm, linux-soc, linux-kernel

Add missing include of sizes.h.

drivers/soc/qcom/smem.c: In function ‘qcom_smem_get_ptable’:
drivers/soc/qcom/smem.c:666:64: error: ‘SZ_4K’ undeclared
  ptable = smem->regions[0].virt_base + smem->regions[0].size - SZ_4K;
                                                                ^~~~~

Signed-off-by: Niklas Cassel <niklas.cassel@linaro.org>
Reviewed-by: Vivek Gautam <vivek.gautam@codeaurora.org>
Reviewed-by: Vinod Koul <vkoul@kernel.org>
---
 drivers/soc/qcom/smem.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/soc/qcom/smem.c b/drivers/soc/qcom/smem.c
index bf4bd71ab53f..b77573eed596 100644
--- a/drivers/soc/qcom/smem.c
+++ b/drivers/soc/qcom/smem.c
@@ -18,6 +18,7 @@
 #include <linux/of.h>
 #include <linux/of_address.h>
 #include <linux/platform_device.h>
+#include <linux/sizes.h>
 #include <linux/slab.h>
 #include <linux/soc/qcom/smem.h>
 
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v5 2/6] soc: qcom: llcc-slice: Add missing include of sizes.h
  2018-08-27 11:35 [PATCH v5 0/6] soc: qcom: Allow COMPILE_TEST of qcom SoC Kconfigs Niklas Cassel
  2018-08-27 11:35 ` [PATCH v5 1/6] soc: qcom: smem: Add missing include of sizes.h Niklas Cassel
@ 2018-08-27 11:36 ` Niklas Cassel
  2018-08-27 11:36 ` [PATCH v5 3/6] soc: qcom: smp2p: Add select IRQ_DOMAIN Niklas Cassel
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Niklas Cassel @ 2018-08-27 11:36 UTC (permalink / raw)
  To: Andy Gross, David Brown
  Cc: Niklas Cassel, linux-arm-msm, linux-soc, linux-kernel

Add missing include of sizes.h.

drivers/soc/qcom/llcc-slice.c: In function ‘llcc_update_act_ctrl’:
drivers/soc/qcom/llcc-slice.c:41:44: error: ‘SZ_4K’ undeclared
 #define LLCC_TRP_ACT_CTRLn(n)         (n * SZ_4K)
                                            ^~~~~

Signed-off-by: Niklas Cassel <niklas.cassel@linaro.org>
Reviewed-by: Vivek Gautam <vivek.gautam@codeaurora.org>
Reviewed-by: Vinod Koul <vkoul@kernel.org>
---
 drivers/soc/qcom/llcc-slice.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/soc/qcom/llcc-slice.c b/drivers/soc/qcom/llcc-slice.c
index 54063a31132f..344dc2daf431 100644
--- a/drivers/soc/qcom/llcc-slice.c
+++ b/drivers/soc/qcom/llcc-slice.c
@@ -13,6 +13,7 @@
 #include <linux/mutex.h>
 #include <linux/of_device.h>
 #include <linux/regmap.h>
+#include <linux/sizes.h>
 #include <linux/slab.h>
 #include <linux/soc/qcom/llcc-qcom.h>
 
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v5 3/6] soc: qcom: smp2p: Add select IRQ_DOMAIN
  2018-08-27 11:35 [PATCH v5 0/6] soc: qcom: Allow COMPILE_TEST of qcom SoC Kconfigs Niklas Cassel
  2018-08-27 11:35 ` [PATCH v5 1/6] soc: qcom: smem: Add missing include of sizes.h Niklas Cassel
  2018-08-27 11:36 ` [PATCH v5 2/6] soc: qcom: llcc-slice: " Niklas Cassel
@ 2018-08-27 11:36 ` Niklas Cassel
  2018-08-27 11:36 ` [PATCH v5 4/6] soc: qcom: smsm: " Niklas Cassel
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Niklas Cassel @ 2018-08-27 11:36 UTC (permalink / raw)
  To: Andy Gross, David Brown
  Cc: Niklas Cassel, linux-arm-msm, linux-soc, linux-kernel

Since we are using irq_domain_add_linear(), add a select on IRQ_DOMAIN.
This is needed in order to be able to remove the depends on ARCH_QCOM.

drivers/soc/qcom/smp2p.c: In function ‘qcom_smp2p_inbound_entry’:
drivers/soc/qcom/smp2p.c:317:18: error: implicit declaration of function
  ‘irq_domain_add_linear’
  entry->domain = irq_domain_add_linear(node, 32, &smp2p_irq_ops, entry);
                  ^~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Niklas Cassel <niklas.cassel@linaro.org>
Reviewed-by: Vivek Gautam <vivek.gautam@codeaurora.org>
Reviewed-by: Vinod Koul <vkoul@kernel.org>
---
 drivers/soc/qcom/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/soc/qcom/Kconfig b/drivers/soc/qcom/Kconfig
index ba79b609aca2..6e063202ad0b 100644
--- a/drivers/soc/qcom/Kconfig
+++ b/drivers/soc/qcom/Kconfig
@@ -134,6 +134,7 @@ config QCOM_SMP2P
 	depends on MAILBOX
 	depends on QCOM_SMEM
 	select QCOM_SMEM_STATE
+	select IRQ_DOMAIN
 	help
 	  Say yes here to support the Qualcomm Shared Memory Point to Point
 	  protocol.
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v5 4/6] soc: qcom: smsm: Add select IRQ_DOMAIN
  2018-08-27 11:35 [PATCH v5 0/6] soc: qcom: Allow COMPILE_TEST of qcom SoC Kconfigs Niklas Cassel
                   ` (2 preceding siblings ...)
  2018-08-27 11:36 ` [PATCH v5 3/6] soc: qcom: smp2p: Add select IRQ_DOMAIN Niklas Cassel
@ 2018-08-27 11:36 ` Niklas Cassel
  2018-08-27 11:36 ` [PATCH v5 5/6] soc: qcom: Remove bogus depends on OF from QCOM_SMD_RPM Niklas Cassel
  2018-08-27 11:36 ` [PATCH v5 6/6] soc: qcom: Allow COMPILE_TEST of qcom SoC Kconfigs Niklas Cassel
  5 siblings, 0 replies; 8+ messages in thread
From: Niklas Cassel @ 2018-08-27 11:36 UTC (permalink / raw)
  To: Andy Gross, David Brown
  Cc: Niklas Cassel, linux-arm-msm, linux-soc, linux-kernel

Since we are using irq_domain_add_linear(), add a select on IRQ_DOMAIN.
This is needed in order to be able to remove the depends on ARCH_QCOM.

drivers/soc/qcom/smsm.c: In function ‘smsm_inbound_entry’:
drivers/soc/qcom/smsm.c:411:18: error: implicit declaration of function
  ‘irq_domain_add_linear’
  entry->domain = irq_domain_add_linear(node, 32, &smsm_irq_ops, entry);
                  ^~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Niklas Cassel <niklas.cassel@linaro.org>
Reviewed-by: Vivek Gautam <vivek.gautam@codeaurora.org>
Reviewed-by: Vinod Koul <vkoul@kernel.org>
---
 drivers/soc/qcom/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/soc/qcom/Kconfig b/drivers/soc/qcom/Kconfig
index 6e063202ad0b..7da6e67c7ea1 100644
--- a/drivers/soc/qcom/Kconfig
+++ b/drivers/soc/qcom/Kconfig
@@ -143,6 +143,7 @@ config QCOM_SMSM
 	tristate "Qualcomm Shared Memory State Machine"
 	depends on QCOM_SMEM
 	select QCOM_SMEM_STATE
+	select IRQ_DOMAIN
 	help
 	  Say yes here to support the Qualcomm Shared Memory State Machine.
 	  The state machine is represented by bits in shared memory.
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v5 5/6] soc: qcom: Remove bogus depends on OF from QCOM_SMD_RPM
  2018-08-27 11:35 [PATCH v5 0/6] soc: qcom: Allow COMPILE_TEST of qcom SoC Kconfigs Niklas Cassel
                   ` (3 preceding siblings ...)
  2018-08-27 11:36 ` [PATCH v5 4/6] soc: qcom: smsm: " Niklas Cassel
@ 2018-08-27 11:36 ` Niklas Cassel
  2018-08-27 11:36 ` [PATCH v5 6/6] soc: qcom: Allow COMPILE_TEST of qcom SoC Kconfigs Niklas Cassel
  5 siblings, 0 replies; 8+ messages in thread
From: Niklas Cassel @ 2018-08-27 11:36 UTC (permalink / raw)
  To: Andy Gross, David Brown
  Cc: Niklas Cassel, linux-arm-msm, linux-soc, linux-kernel

QCOM_SMD_RPM builds perfectly fine without CONFIG_OF set.
Remove the bogus depends of OF.

Signed-off-by: Niklas Cassel <niklas.cassel@linaro.org>
Reviewed-by: Vivek Gautam <vivek.gautam@codeaurora.org>
Reviewed-by: Vinod Koul <vkoul@kernel.org>
---
 drivers/soc/qcom/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/soc/qcom/Kconfig b/drivers/soc/qcom/Kconfig
index 7da6e67c7ea1..ac657164a136 100644
--- a/drivers/soc/qcom/Kconfig
+++ b/drivers/soc/qcom/Kconfig
@@ -114,7 +114,7 @@ config QCOM_SMEM
 config QCOM_SMD_RPM
 	tristate "Qualcomm Resource Power Manager (RPM) over SMD"
 	depends on ARCH_QCOM
-	depends on RPMSG && OF
+	depends on RPMSG
 	help
 	  If you say yes to this option, support will be included for the
 	  Resource Power Manager system found in the Qualcomm 8974 based
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH v5 6/6] soc: qcom: Allow COMPILE_TEST of qcom SoC Kconfigs
  2018-08-27 11:35 [PATCH v5 0/6] soc: qcom: Allow COMPILE_TEST of qcom SoC Kconfigs Niklas Cassel
                   ` (4 preceding siblings ...)
  2018-08-27 11:36 ` [PATCH v5 5/6] soc: qcom: Remove bogus depends on OF from QCOM_SMD_RPM Niklas Cassel
@ 2018-08-27 11:36 ` Niklas Cassel
  2018-08-28  9:37   ` kbuild test robot
  5 siblings, 1 reply; 8+ messages in thread
From: Niklas Cassel @ 2018-08-27 11:36 UTC (permalink / raw)
  To: Andy Gross, David Brown
  Cc: Niklas Cassel, linux-arm-msm, linux-soc, linux-kernel

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.

Allow COMPILE_TEST for all qcom SoC Kconfigs, except for two Kconfigs
that depend on QCOM_SCM, since that triggers lots of build errors in
qcom_scm.

Signed-off-by: Niklas Cassel <niklas.cassel@linaro.org>
Reviewed-by: Vivek Gautam <vivek.gautam@codeaurora.org>
Reviewed-by: Vinod Koul <vkoul@kernel.org>
---
 drivers/soc/qcom/Kconfig | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/drivers/soc/qcom/Kconfig b/drivers/soc/qcom/Kconfig
index ac657164a136..fd09b95be0ba 100644
--- a/drivers/soc/qcom/Kconfig
+++ b/drivers/soc/qcom/Kconfig
@@ -33,7 +33,7 @@ config QCOM_GLINK_SSR
 
 config QCOM_GSBI
         tristate "QCOM General Serial Bus Interface"
-        depends on ARCH_QCOM
+        depends on ARCH_QCOM || COMPILE_TEST
         select MFD_SYSCON
         help
           Say y here to enable GSBI support.  The GSBI provides control
@@ -42,7 +42,7 @@ config QCOM_GSBI
 
 config QCOM_LLCC
 	tristate "Qualcomm Technologies, Inc. LLCC driver"
-	depends on ARCH_QCOM
+	depends on ARCH_QCOM || COMPILE_TEST
 	help
 	  Qualcomm Technologies, Inc. platform specific
 	  Last Level Cache Controller(LLCC) driver. This provides interfaces
@@ -73,7 +73,8 @@ config QCOM_PM
 
 config QCOM_QMI_HELPERS
 	tristate
-	depends on ARCH_QCOM && NET
+	depends on ARCH_QCOM || COMPILE_TEST
+	depends on NET
 	help
 	  Helper library for handling QMI encoded messages.  QMI encoded
 	  messages are used in communication between the majority of QRTR
@@ -104,7 +105,7 @@ config QCOM_RPMH
 
 config QCOM_SMEM
 	tristate "Qualcomm Shared Memory Manager (SMEM)"
-	depends on ARCH_QCOM
+	depends on ARCH_QCOM || COMPILE_TEST
 	depends on HWSPINLOCK
 	help
 	  Say y here to enable support for the Qualcomm Shared Memory Manager.
@@ -113,7 +114,7 @@ config QCOM_SMEM
 
 config QCOM_SMD_RPM
 	tristate "Qualcomm Resource Power Manager (RPM) over SMD"
-	depends on ARCH_QCOM
+	depends on ARCH_QCOM || COMPILE_TEST
 	depends on RPMSG
 	help
 	  If you say yes to this option, support will be included for the
@@ -150,7 +151,7 @@ config QCOM_SMSM
 
 config QCOM_WCNSS_CTRL
 	tristate "Qualcomm WCNSS control driver"
-	depends on ARCH_QCOM
+	depends on ARCH_QCOM || COMPILE_TEST
 	depends on RPMSG
 	help
 	  Client driver for the WCNSS_CTRL SMD channel, used to download nv
@@ -158,7 +159,7 @@ config QCOM_WCNSS_CTRL
 
 config QCOM_APR
 	tristate "Qualcomm APR Bus (Asynchronous Packet Router)"
-	depends on ARCH_QCOM
+	depends on ARCH_QCOM || COMPILE_TEST
 	depends on RPMSG
 	help
           Enable APR IPC protocol support between
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v5 6/6] soc: qcom: Allow COMPILE_TEST of qcom SoC Kconfigs
  2018-08-27 11:36 ` [PATCH v5 6/6] soc: qcom: Allow COMPILE_TEST of qcom SoC Kconfigs Niklas Cassel
@ 2018-08-28  9:37   ` kbuild test robot
  0 siblings, 0 replies; 8+ messages in thread
From: kbuild test robot @ 2018-08-28  9:37 UTC (permalink / raw)
  To: Niklas Cassel
  Cc: kbuild-all, Andy Gross, David Brown, Niklas Cassel,
	linux-arm-msm, linux-soc, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 3511 bytes --]

Hi Niklas,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on agross/for-next]
[also build test WARNING on v4.19-rc1 next-20180828]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Niklas-Cassel/soc-qcom-Allow-COMPILE_TEST-of-qcom-SoC-Kconfigs/20180827-195255
base:   https://git.kernel.org/pub/scm/linux/kernel/git/agross/linux.git for-next
config: ia64-allmodconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 8.1.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=8.1.0 make.cross ARCH=ia64 

All warnings (new ones prefixed by >>):

   drivers//soc/qcom/wcnss_ctrl.c: In function 'qcom_wcnss_open_channel':
>> drivers//soc/qcom/wcnss_ctrl.c:284:2: warning: 'strncpy' specified bound 32 equals destination size [-Wstringop-truncation]
     strncpy(chinfo.name, name, sizeof(chinfo.name));
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--
   In function 'apr_add_device',
       inlined from 'of_register_apr_devices' at drivers//soc/qcom/apr.c:264:7,
       inlined from 'apr_probe' at drivers//soc/qcom/apr.c:290:2:
>> drivers//soc/qcom/apr.c:222:3: warning: 'strncpy' specified bound 32 equals destination size [-Wstringop-truncation]
      strncpy(adev->name, np->name, APR_NAME_SIZE);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

vim +/strncpy +284 drivers//soc/qcom/wcnss_ctrl.c

6be2b3d0 Bjorn Andersson 2016-06-06  272  
6be2b3d0 Bjorn Andersson 2016-06-06  273  /**
6be2b3d0 Bjorn Andersson 2016-06-06  274   * qcom_wcnss_open_channel() - open additional SMD channel to WCNSS
6be2b3d0 Bjorn Andersson 2016-06-06  275   * @wcnss:	wcnss handle, retrieved from drvdata
6be2b3d0 Bjorn Andersson 2016-06-06  276   * @name:	SMD channel name
6be2b3d0 Bjorn Andersson 2016-06-06  277   * @cb:		callback to handle incoming data on the channel
6be2b3d0 Bjorn Andersson 2016-06-06  278   */
5052de8d Bjorn Andersson 2017-03-27  279  struct rpmsg_endpoint *qcom_wcnss_open_channel(void *wcnss, const char *name, rpmsg_rx_cb_t cb, void *priv)
6be2b3d0 Bjorn Andersson 2016-06-06  280  {
5052de8d Bjorn Andersson 2017-03-27  281  	struct rpmsg_channel_info chinfo;
6be2b3d0 Bjorn Andersson 2016-06-06  282  	struct wcnss_ctrl *_wcnss = wcnss;
6be2b3d0 Bjorn Andersson 2016-06-06  283  
5052de8d Bjorn Andersson 2017-03-27 @284  	strncpy(chinfo.name, name, sizeof(chinfo.name));
5052de8d Bjorn Andersson 2017-03-27  285  	chinfo.src = RPMSG_ADDR_ANY;
5052de8d Bjorn Andersson 2017-03-27  286  	chinfo.dst = RPMSG_ADDR_ANY;
5052de8d Bjorn Andersson 2017-03-27  287  
5052de8d Bjorn Andersson 2017-03-27  288  	return rpmsg_create_ept(_wcnss->channel->rpdev, cb, priv, chinfo);
6be2b3d0 Bjorn Andersson 2016-06-06  289  }
6be2b3d0 Bjorn Andersson 2016-06-06  290  EXPORT_SYMBOL(qcom_wcnss_open_channel);
6be2b3d0 Bjorn Andersson 2016-06-06  291  

:::::: The code at line 284 was first introduced by commit
:::::: 5052de8deff5619a9b7071f00084fd0264b58e17 soc: qcom: smd: Transition client drivers from smd to rpmsg

:::::: TO: Bjorn Andersson <bjorn.andersson@linaro.org>
:::::: CC: David S. Miller <davem@davemloft.net>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 50959 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-08-28  9:39 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-27 11:35 [PATCH v5 0/6] soc: qcom: Allow COMPILE_TEST of qcom SoC Kconfigs Niklas Cassel
2018-08-27 11:35 ` [PATCH v5 1/6] soc: qcom: smem: Add missing include of sizes.h Niklas Cassel
2018-08-27 11:36 ` [PATCH v5 2/6] soc: qcom: llcc-slice: " Niklas Cassel
2018-08-27 11:36 ` [PATCH v5 3/6] soc: qcom: smp2p: Add select IRQ_DOMAIN Niklas Cassel
2018-08-27 11:36 ` [PATCH v5 4/6] soc: qcom: smsm: " Niklas Cassel
2018-08-27 11:36 ` [PATCH v5 5/6] soc: qcom: Remove bogus depends on OF from QCOM_SMD_RPM Niklas Cassel
2018-08-27 11:36 ` [PATCH v5 6/6] soc: qcom: Allow COMPILE_TEST of qcom SoC Kconfigs Niklas Cassel
2018-08-28  9:37   ` kbuild test robot

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).