linux-arm-msm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] Allow MSM DT platforms to be built multi-platform
@ 2013-12-04 19:39 Stephen Boyd
  2013-12-04 19:39 ` [PATCH 1/5] mmc: msm_sdcc: Limit driver to platforms that use it Stephen Boyd
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Stephen Boyd @ 2013-12-04 19:39 UTC (permalink / raw)
  To: David Brown
  Cc: linux-kernel, linux-arm-msm, linux-arm-kernel, Chris Ball,
	Greg Kroah-Hartman, Arnd Bergmann

These patches allow the MSM code to be built as part of the multi-platform
kernel. To be fully functional you need the first patch from Ivan's series[1]
so that the usb-phy driver doesn't use mach specific APIs. I'm hoping that
we can send these all through arm-soc so driver maintainers please ack
the first two changes.

Stephen Boyd (5):
  mmc: msm_sdcc: Limit driver to platforms that use it
  tty: serial: Limit msm_serial_hs driver to platforms that use it
  ARM: msm: Only build clock.c on proc_comm based platforms
  ARM: msm: Only build timer.c if required
  ARM: msm: Move MSM's DT based hardware to multi-platform support

 arch/arm/Kconfig           |  4 +--
 arch/arm/mach-msm/Kconfig  | 66 ++++++++++++++++++++++++++++------------------
 arch/arm/mach-msm/Makefile |  4 +--
 drivers/mmc/host/Kconfig   |  2 +-
 drivers/tty/serial/Kconfig |  2 +-
 5 files changed, 46 insertions(+), 32 deletions(-)

[1] https://lkml.org/lkml/2013/11/12/722 
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation

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

* [PATCH 1/5] mmc: msm_sdcc: Limit driver to platforms that use it
  2013-12-04 19:39 [PATCH 0/5] Allow MSM DT platforms to be built multi-platform Stephen Boyd
@ 2013-12-04 19:39 ` Stephen Boyd
  2013-12-10 23:47   ` Stephen Boyd
  2013-12-04 19:39 ` [PATCH 2/5] tty: serial: Limit msm_serial_hs " Stephen Boyd
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 9+ messages in thread
From: Stephen Boyd @ 2013-12-04 19:39 UTC (permalink / raw)
  To: David Brown; +Cc: linux-kernel, linux-arm-msm, linux-arm-kernel, Chris Ball

The msm_sdcc driver uses mach specific dma APIs. This is not
compatible with the multi-platform ARM effort. Let's only compile
this driver on MSM devices that are prepared to support it,
allowing the DT based MSM devices to enter the multi-platform ARM
build.

Cc: Chris Ball <cjb@laptop.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
---
 drivers/mmc/host/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
index 7fc5099..4e8ca9d 100644
--- a/drivers/mmc/host/Kconfig
+++ b/drivers/mmc/host/Kconfig
@@ -324,7 +324,7 @@ config MMC_ATMELMCI
 
 config MMC_MSM
 	tristate "Qualcomm SDCC Controller Support"
-	depends on MMC && ARCH_MSM
+	depends on MMC && (ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50)
 	help
 	  This provides support for the SD/MMC cell found in the
 	  MSM and QSD SOCs from Qualcomm. The controller also has
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation

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

* [PATCH 2/5] tty: serial: Limit msm_serial_hs driver to platforms that use it
  2013-12-04 19:39 [PATCH 0/5] Allow MSM DT platforms to be built multi-platform Stephen Boyd
  2013-12-04 19:39 ` [PATCH 1/5] mmc: msm_sdcc: Limit driver to platforms that use it Stephen Boyd
@ 2013-12-04 19:39 ` Stephen Boyd
  2013-12-04 19:54   ` Greg Kroah-Hartman
  2013-12-04 19:39 ` [PATCH 3/5] ARM: msm: Only build clock.c on proc_comm based platforms Stephen Boyd
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 9+ messages in thread
From: Stephen Boyd @ 2013-12-04 19:39 UTC (permalink / raw)
  To: David Brown
  Cc: linux-kernel, linux-arm-msm, linux-arm-kernel, Greg Kroah-Hartman

The msm_serial_hs driver uses mach specific dma APIs. This is not
compatible with the multi-platform ARM effort. Let's only compile
this driver on MSM devices that are prepared to support it;
allowing the DT based MSM devices to enter the multi-platform ARM
build.

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
---
 drivers/tty/serial/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
index a3817ab..a53159c 100644
--- a/drivers/tty/serial/Kconfig
+++ b/drivers/tty/serial/Kconfig
@@ -1035,7 +1035,7 @@ config SERIAL_MSM_CONSOLE
 
 config SERIAL_MSM_HS
 	tristate "MSM UART High Speed: Serial Driver"
-	depends on ARCH_MSM
+	depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
 	select SERIAL_CORE
 	help
 	  If you have a machine based on MSM family of SoCs, you
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation

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

* [PATCH 3/5] ARM: msm: Only build clock.c on proc_comm based platforms
  2013-12-04 19:39 [PATCH 0/5] Allow MSM DT platforms to be built multi-platform Stephen Boyd
  2013-12-04 19:39 ` [PATCH 1/5] mmc: msm_sdcc: Limit driver to platforms that use it Stephen Boyd
  2013-12-04 19:39 ` [PATCH 2/5] tty: serial: Limit msm_serial_hs " Stephen Boyd
@ 2013-12-04 19:39 ` Stephen Boyd
  2013-12-04 19:39 ` [PATCH 4/5] ARM: msm: Only build timer.c if required Stephen Boyd
  2013-12-04 19:39 ` [PATCH 5/5] ARM: msm: Move MSM's DT based hardware to multi-platform support Stephen Boyd
  4 siblings, 0 replies; 9+ messages in thread
From: Stephen Boyd @ 2013-12-04 19:39 UTC (permalink / raw)
  To: David Brown; +Cc: linux-arm-msm, linux-kernel, linux-arm-kernel

The functionality provided by clock.c in mach-msm is only needed
on proc_comm based platforms. Only build the file if proc_comm is
enabled. This prevents compile failures for platforms that are
part of the multi-platform kernel.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
---
 arch/arm/mach-msm/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/mach-msm/Makefile b/arch/arm/mach-msm/Makefile
index 7ed4c1b..6baae6e 100644
--- a/arch/arm/mach-msm/Makefile
+++ b/arch/arm/mach-msm/Makefile
@@ -1,5 +1,5 @@
 obj-y += timer.o
-obj-y += clock.o
+obj-$(CONFIG_MSM_PROC_COMM) += clock.o
 
 obj-$(CONFIG_MSM_VIC) += irq-vic.o
 
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation

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

* [PATCH 4/5] ARM: msm: Only build timer.c if required
  2013-12-04 19:39 [PATCH 0/5] Allow MSM DT platforms to be built multi-platform Stephen Boyd
                   ` (2 preceding siblings ...)
  2013-12-04 19:39 ` [PATCH 3/5] ARM: msm: Only build clock.c on proc_comm based platforms Stephen Boyd
@ 2013-12-04 19:39 ` Stephen Boyd
  2013-12-04 19:39 ` [PATCH 5/5] ARM: msm: Move MSM's DT based hardware to multi-platform support Stephen Boyd
  4 siblings, 0 replies; 9+ messages in thread
From: Stephen Boyd @ 2013-12-04 19:39 UTC (permalink / raw)
  To: David Brown; +Cc: linux-kernel, linux-arm-msm, linux-arm-kernel

The MSM timer is only used on MSM devices that don't have the
architected timers. Introduce a hidden Kconfig option for this
driver so that we don't build it on the platforms that don't need
it.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
---
 arch/arm/mach-msm/Kconfig  | 9 +++++++++
 arch/arm/mach-msm/Makefile | 2 +-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig
index 2586c28..47cd2df 100644
--- a/arch/arm/mach-msm/Kconfig
+++ b/arch/arm/mach-msm/Kconfig
@@ -16,6 +16,7 @@ config ARCH_MSM7X00A
 	select MACH_TROUT if !MACH_HALIBUT
 	select MSM_PROC_COMM
 	select MSM_SMD
+	select MSM_TIMER
 	select MSM_SMD_PKG3
 
 config ARCH_MSM7X30
@@ -27,6 +28,7 @@ config ARCH_MSM7X30
 	select MSM_GPIOMUX
 	select MSM_PROC_COMM
 	select MSM_SMD
+	select MSM_TIMER
 	select MSM_VIC
 
 config ARCH_QSD8X50
@@ -38,6 +40,7 @@ config ARCH_QSD8X50
 	select MSM_GPIOMUX
 	select MSM_PROC_COMM
 	select MSM_SMD
+	select MSM_TIMER
 	select MSM_VIC
 
 endchoice
@@ -49,6 +52,7 @@ config ARCH_MSM8X60
 	select GPIO_MSM_V2
 	select HAVE_SMP
 	select MSM_SCM if SMP
+	select MSM_TIMER
 
 config ARCH_MSM8960
 	bool "MSM8960"
@@ -57,6 +61,7 @@ config ARCH_MSM8960
 	select HAVE_SMP
 	select GPIO_MSM_V2
 	select MSM_SCM if SMP
+	select MSM_TIMER
 
 config ARCH_MSM_DT
 	def_bool y
@@ -134,4 +139,8 @@ config MSM_GPIOMUX
 
 config MSM_SCM
 	bool
+
+config MSM_TIMER
+	bool
+
 endif
diff --git a/arch/arm/mach-msm/Makefile b/arch/arm/mach-msm/Makefile
index 6baae6e..8e307a10 100644
--- a/arch/arm/mach-msm/Makefile
+++ b/arch/arm/mach-msm/Makefile
@@ -1,4 +1,4 @@
-obj-y += timer.o
+obj-$(CONFIG_MSM_TIMER) += timer.o
 obj-$(CONFIG_MSM_PROC_COMM) += clock.o
 
 obj-$(CONFIG_MSM_VIC) += irq-vic.o
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation

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

* [PATCH 5/5] ARM: msm: Move MSM's DT based hardware to multi-platform support
  2013-12-04 19:39 [PATCH 0/5] Allow MSM DT platforms to be built multi-platform Stephen Boyd
                   ` (3 preceding siblings ...)
  2013-12-04 19:39 ` [PATCH 4/5] ARM: msm: Only build timer.c if required Stephen Boyd
@ 2013-12-04 19:39 ` Stephen Boyd
  2013-12-05  2:43   ` Arnd Bergmann
  4 siblings, 1 reply; 9+ messages in thread
From: Stephen Boyd @ 2013-12-04 19:39 UTC (permalink / raw)
  To: David Brown; +Cc: linux-kernel, linux-arm-msm, linux-arm-kernel, Arnd Bergmann

The DT based MSM platforms can join the multi-platform builds, so
introduce a DT based ARCH_MSM option. This option allows DT based
MSM platforms to be built into the multi-platform kernel. Also
introduce a hidden ARCH_MSM config that both the DT and non-DT
platform support code select to avoid churn in places that depend
on CONFIG_ARCH_MSM.

Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
---
 arch/arm/Kconfig          |  4 ++--
 arch/arm/mach-msm/Kconfig | 61 +++++++++++++++++++++++++----------------------
 2 files changed, 35 insertions(+), 30 deletions(-)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 603d661..d056118 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -630,10 +630,10 @@ config ARCH_PXA
 	help
 	  Support for Intel/Marvell's PXA2xx/PXA3xx processor line.
 
-config ARCH_MSM
+config ARCH_MSM_NODT
 	bool "Qualcomm MSM"
+	select ARCH_MSM
 	select ARCH_REQUIRE_GPIOLIB
-	select CLKSRC_OF if OF
 	select COMMON_CLK
 	select GENERIC_CLOCKEVENTS
 	help
diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig
index 47cd2df..73c7ff3 100644
--- a/arch/arm/mach-msm/Kconfig
+++ b/arch/arm/mach-msm/Kconfig
@@ -1,12 +1,42 @@
+config ARCH_MSM
+	bool
+
+config ARCH_MSM_DT
+	bool "Qualcomm MSM DT support" if ARCH_MULTI_V7
+	select ARCH_MSM
+	select ARCH_REQUIRE_GPIOLIB
+	select CLKSRC_OF
+	select GENERIC_CLOCKEVENTS
+	help
+	  Support for Qualcomm's DT-based MSM systems.
+
 if ARCH_MSM
 
-comment "Qualcomm MSM SoC Type"
+menu "Qualcomm MSM SoC selection"
 	depends on ARCH_MSM_DT
 
+config ARCH_MSM8X60
+	bool "Enable support for MSM8X60"
+	select ARM_GIC
+	select CPU_V7
+	select HAVE_SMP
+	select MSM_SCM if SMP
+	select MSM_TIMER
+
+config ARCH_MSM8960
+	bool "Enable support for MSM8960"
+	select ARM_GIC
+	select CPU_V7
+	select HAVE_SMP
+	select MSM_SCM if SMP
+	select MSM_TIMER
+
+endmenu
+
 choice
 	prompt "Qualcomm MSM SoC Type"
 	default ARCH_MSM7X00A
-	depends on !ARCH_MSM_DT
+	depends on ARCH_MSM_NODT
 
 config ARCH_MSM7X00A
 	bool "MSM7x00A / MSM7x01A"
@@ -45,30 +75,6 @@ config ARCH_QSD8X50
 
 endchoice
 
-config ARCH_MSM8X60
-	bool "MSM8X60"
-	select ARM_GIC
-	select CPU_V7
-	select GPIO_MSM_V2
-	select HAVE_SMP
-	select MSM_SCM if SMP
-	select MSM_TIMER
-
-config ARCH_MSM8960
-	bool "MSM8960"
-	select ARM_GIC
-	select CPU_V7
-	select HAVE_SMP
-	select GPIO_MSM_V2
-	select MSM_SCM if SMP
-	select MSM_TIMER
-
-config ARCH_MSM_DT
-	def_bool y
-	depends on (ARCH_MSM8X60 || ARCH_MSM8960)
-	select SPARSE_IRQ
-	select USE_OF
-
 config MSM_HAS_DEBUG_UART_HS
 	bool
 
@@ -85,7 +91,7 @@ config  MSM_VIC
 	bool
 
 menu "Qualcomm MSM Board Type"
-	depends on !ARCH_MSM_DT
+	depends on ARCH_MSM_NODT
 
 config MACH_HALIBUT
 	depends on ARCH_MSM
@@ -133,7 +139,6 @@ config MSM_SMD
 
 config MSM_GPIOMUX
 	bool
-	depends on !ARCH_MSM_DT
 	help
 	  Support for MSM V1 TLMM GPIOMUX architecture.
 
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation

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

* Re: [PATCH 2/5] tty: serial: Limit msm_serial_hs driver to platforms that use it
  2013-12-04 19:39 ` [PATCH 2/5] tty: serial: Limit msm_serial_hs " Stephen Boyd
@ 2013-12-04 19:54   ` Greg Kroah-Hartman
  0 siblings, 0 replies; 9+ messages in thread
From: Greg Kroah-Hartman @ 2013-12-04 19:54 UTC (permalink / raw)
  To: Stephen Boyd; +Cc: linux-arm-msm, David Brown, linux-kernel, linux-arm-kernel

On Wed, Dec 04, 2013 at 11:39:09AM -0800, Stephen Boyd wrote:
> The msm_serial_hs driver uses mach specific dma APIs. This is not
> compatible with the multi-platform ARM effort. Let's only compile
> this driver on MSM devices that are prepared to support it;
> allowing the DT based MSM devices to enter the multi-platform ARM
> build.
> 
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>

Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

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

* Re: [PATCH 5/5] ARM: msm: Move MSM's DT based hardware to multi-platform support
  2013-12-04 19:39 ` [PATCH 5/5] ARM: msm: Move MSM's DT based hardware to multi-platform support Stephen Boyd
@ 2013-12-05  2:43   ` Arnd Bergmann
  0 siblings, 0 replies; 9+ messages in thread
From: Arnd Bergmann @ 2013-12-05  2:43 UTC (permalink / raw)
  To: Stephen Boyd; +Cc: David Brown, linux-kernel, linux-arm-msm, linux-arm-kernel

On Wednesday 04 December 2013, Stephen Boyd wrote:
> The DT based MSM platforms can join the multi-platform builds, so
> introduce a DT based ARCH_MSM option. This option allows DT based
> MSM platforms to be built into the multi-platform kernel. Also
> introduce a hidden ARCH_MSM config that both the DT and non-DT
> platform support code select to avoid churn in places that depend
> on CONFIG_ARCH_MSM.
> 
> Cc: Arnd Bergmann <arnd@arndb.de>
> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>

Nice!

Acked-by: Arnd Bergmann <arnd@arndb.de>

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

* Re: [PATCH 1/5] mmc: msm_sdcc: Limit driver to platforms that use it
  2013-12-04 19:39 ` [PATCH 1/5] mmc: msm_sdcc: Limit driver to platforms that use it Stephen Boyd
@ 2013-12-10 23:47   ` Stephen Boyd
  0 siblings, 0 replies; 9+ messages in thread
From: Stephen Boyd @ 2013-12-10 23:47 UTC (permalink / raw)
  To: Chris Ball; +Cc: David Brown, linux-kernel, linux-arm-msm, linux-arm-kernel

On 12/04/13 11:39, Stephen Boyd wrote:
> The msm_sdcc driver uses mach specific dma APIs. This is not
> compatible with the multi-platform ARM effort. Let's only compile
> this driver on MSM devices that are prepared to support it,
> allowing the DT based MSM devices to enter the multi-platform ARM
> build.
>
> Cc: Chris Ball <cjb@laptop.org>
> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
> ---

Chris, can you please ack/review this change?

>  drivers/mmc/host/Kconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
> index 7fc5099..4e8ca9d 100644
> --- a/drivers/mmc/host/Kconfig
> +++ b/drivers/mmc/host/Kconfig
> @@ -324,7 +324,7 @@ config MMC_ATMELMCI
>  
>  config MMC_MSM
>  	tristate "Qualcomm SDCC Controller Support"
> -	depends on MMC && ARCH_MSM
> +	depends on MMC && (ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50)
>  	help
>  	  This provides support for the SD/MMC cell found in the
>  	  MSM and QSD SOCs from Qualcomm. The controller also has


-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation

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

end of thread, other threads:[~2013-12-10 23:47 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-12-04 19:39 [PATCH 0/5] Allow MSM DT platforms to be built multi-platform Stephen Boyd
2013-12-04 19:39 ` [PATCH 1/5] mmc: msm_sdcc: Limit driver to platforms that use it Stephen Boyd
2013-12-10 23:47   ` Stephen Boyd
2013-12-04 19:39 ` [PATCH 2/5] tty: serial: Limit msm_serial_hs " Stephen Boyd
2013-12-04 19:54   ` Greg Kroah-Hartman
2013-12-04 19:39 ` [PATCH 3/5] ARM: msm: Only build clock.c on proc_comm based platforms Stephen Boyd
2013-12-04 19:39 ` [PATCH 4/5] ARM: msm: Only build timer.c if required Stephen Boyd
2013-12-04 19:39 ` [PATCH 5/5] ARM: msm: Move MSM's DT based hardware to multi-platform support Stephen Boyd
2013-12-05  2:43   ` Arnd Bergmann

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