Skip to contentSkip to conversation

Remove ARCH_MSM* configs

PATCH Superseded Stephen Boyd 2 participants 7 messages Nov 25, 2015

Subsystems (4)

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

v2 cover Remove ARCH_MSM* configs

This patch series allows us to remove the ARCH_MSM* configs that live in mach-qcom/Kconfig. They're mostly proxy configs for user selectable clocksource configurations anyway.

Changes from v1:
* Patch 1 replaced with one that moves config to mach-qcom/Kconfig
* Applied Arnd's acks to patches 2 and 3

Stephen Boyd (3):
ARM: qcom: Make an option for qcom clocksource platforms
ARM: qcom_defconfig: Enable HAVE_ARM_ARCH_TIMER
ARM: qcom: Drop ARCH_MSM* configs

 arch/arm/Makefile               |  3 +--
 arch/arm/configs/qcom_defconfig |  1 +
 arch/arm/mach-qcom/Kconfig      | 16 ++++++----------
 3 files changed, 8 insertions(+), 12 deletions(-)
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
#1 lore raw

PATCH v2 1/3 ARM: qcom: Make an option for qcom clocksource platforms

We want to remove the ARCH_MSM* configs in mach-qcom/Kconfig because they are mostly proxy configs for selecting the right clocksource driver. Therefore, make a new config for platforms that use the qcom clocksource driver. We'll also make this the determining factor for if we should adjust the text offset by 2MB or not, because the two go hand in hand.

---
 arch/arm/Makefile          | 3 +--
 arch/arm/mach-qcom/Kconfig | 8 ++++++++
 2 files changed, 9 insertions(+), 2 deletions(-)
arch/arm/Makefile +1 -2
index 2c2b28ee4811..999d523ac09f 100644
@@ -148,8 +148,7 @@ textofs-$(CONFIG_PM_H1940)      := 0x00108000
 ifeq ($(CONFIG_ARCH_SA1100),y)
 textofs-$(CONFIG_SA1111) := 0x00208000
 endif
-textofs-$(CONFIG_ARCH_MSM8X60) := 0x00208000
-textofs-$(CONFIG_ARCH_MSM8960) := 0x00208000
+textofs-$(CONFIG_HAVE_CLKSRC_QCOM) := 0x00208000
 textofs-$(CONFIG_ARCH_AXXIA) := 0x00308000
 
 # Machine directory name.  This list is sorted alphanumerically
arch/arm/mach-qcom/Kconfig +8 -0
index 2256cd1e25d1..35a03967d9c2 100644
@@ -10,6 +10,14 @@ menuconfig ARCH_QCOM
 
 if ARCH_QCOM
 
+config HAVE_CLKSRC_QCOM
+	bool "Support platforms with qcom clocksource"
+	default y
+	select CLKSRC_QCOM
+	help
+	  Select this option if you want to support platforms
+	  with the qcom clocksource such as MSM8660 and MSM8960.
+
 config ARCH_MSM8X60
 	bool "Enable support for MSM8X60"
 	select CLKSRC_QCOM
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
#2 lore raw

Re: [PATCH v2 1/3] ARM: qcom: Make an option for qcom clocksource platforms

Quoted 19 lines · On Wednesday 25 November 2015 13:04:36 Stephen Boyd wrote:
arch/arm/Makefile +1 -2
index 2c2b28ee4811..999d523ac09f 100644
@@ -148,8 +148,7 @@ textofs-$(CONFIG_PM_H1940)      := 0x00108000
 ifeq ($(CONFIG_ARCH_SA1100),y)
 textofs-$(CONFIG_SA1111) := 0x00208000
 endif
-textofs-$(CONFIG_ARCH_MSM8X60) := 0x00208000
-textofs-$(CONFIG_ARCH_MSM8960) := 0x00208000
+textofs-$(CONFIG_HAVE_CLKSRC_QCOM) := 0x00208000
 textofs-$(CONFIG_ARCH_AXXIA) := 0x00308000
 
 # Machine directory name.  This list is sorted alphanumerically
arch/arm/mach-qcom/Kconfig +0 -0
index 2256cd1e25d1..35a03967d9c2 100644

arch/arm/mach-qcom/Kconfig menuconfig ARCH_QCOM · line 19

Quoted 10 lines
arch/arm/mach-qcom/Kconfig +7 -0
@@ -10,6 +10,14 @@ menuconfig ARCH_QCOM
 
 if ARCH_QCOM
 
+config HAVE_CLKSRC_QCOM
+       bool "Support platforms with qcom clocksource"
+       default y
+       select CLKSRC_QCOM
+       help
+         Select this option if you want to support platforms
+         with the qcom clocksource such as MSM8660 and MSM8960.

Hmm, if we use the option for two things, I think it could use a different identifier and title, as it seems counterintuitive to make the text offset based on the clocksource driver.

Is there any common way to classify these, e.g. calling them 'pre-2013 models' or 'Snapdragon S4' as a way to identify them?

The way it appears in Kconfig also still needs to reflect how this is a subset of the supported platforms (as your current patch does correctly).

Arnd

#3 lore raw

Re: [PATCH v2 1/3] ARM: qcom: Make an option for qcom clocksource platforms

Quoted 23 lines · Arnd Bergmann
Quoted 22 lines · On Wednesday 25 November 2015 13:04:36 Stephen Boyd wrote:
arch/arm/Makefile +1 -2
index 2c2b28ee4811..999d523ac09f 100644
@@ -148,8 +148,7 @@ textofs-$(CONFIG_PM_H1940)      := 0x00108000
 ifeq ($(CONFIG_ARCH_SA1100),y)
 textofs-$(CONFIG_SA1111) := 0x00208000
 endif
-textofs-$(CONFIG_ARCH_MSM8X60) := 0x00208000
-textofs-$(CONFIG_ARCH_MSM8960) := 0x00208000
+textofs-$(CONFIG_HAVE_CLKSRC_QCOM) := 0x00208000
 textofs-$(CONFIG_ARCH_AXXIA) := 0x00308000
 
 # Machine directory name.  This list is sorted alphanumerically
arch/arm/mach-qcom/Kconfig +0 -0
index 2256cd1e25d1..35a03967d9c2 100644
@@ -10,6 +10,14 @@ menuconfig ARCH_QCOM
 
 if ARCH_QCOM
 
Quoted 10 lines

arch/arm/mach-qcom/Kconfig menuconfig ARCH_QCOM · line 19

Quoted 7 lines
arch/arm/mach-qcom/Kconfig +7 -0
+config HAVE_CLKSRC_QCOM
+       bool "Support platforms with qcom clocksource"
+       default y
+       select CLKSRC_QCOM
+       help
+         Select this option if you want to support platforms
+         with the qcom clocksource such as MSM8660 and MSM8960.

Hmm, if we use the option for two things, I think it could use a different identifier and title, as it seems counterintuitive to make the text offset based on the clocksource driver.

Ok.

Quoted 3 lines

Is there any common way to classify these, e.g. calling them 'pre-2013 models' or 'Snapdragon S4' as a way to identify them?

I was thinking I could leave it as ARCH_MSM_8X60 because that covers the 6 and the 9, but that doesn't make me feel great. I have no idea what Snapdragon S4 is, and that didn't exist when 8660 was first released. pre-2013 models seems alright. Or perhaps ARCH_QCOM_PRE_8974?

Internally (and sort of leaked externally now) we called MSM8960 and its variants A-family, and the generation after B-family, so perhaps ARCH_QCOM_A_FAMILY would be appropriate? The problem there is no end user knows about this distinction.

Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
#4 lore raw

Re: [PATCH v2 1/3] ARM: qcom: Make an option for qcom clocksource platforms

Quoted 10 lines · On Wednesday 25 November 2015 14:22:21 Stephen Boyd wrote:
Quoted 4 lines

Is there any common way to classify these, e.g. calling them 'pre-2013 models' or 'Snapdragon S4' as a way to identify them?

I was thinking I could leave it as ARCH_MSM_8X60 because that covers the 6 and the 9, but that doesn't make me feel great. I have no idea what Snapdragon S4 is, and that didn't exist when 8660 was first released. pre-2013 models seems alright. Or perhaps ARCH_QCOM_PRE_8974?

Quoted 4 lines

Internally (and sort of leaked externally now) we called MSM8960 and its variants A-family, and the generation after B-family, so perhaps ARCH_QCOM_A_FAMILY would be appropriate? The problem there is no end user knows about this distinction.

I think using internal code names like ARCH_QCOM_A_FAMILY here is fine, a lot of other platforms do similar things. Regarding end users, it's probably enough to explain the distinction in the help text, something like:

The A-family includes all Snapdragon S1/S2/S3/S4 chips before 2013, up to the MSM8x60 and APQ8064 models.

The B-family includes all Snapdragon 2xx/4xx/6xx/8xx models starting in 2013 with the MSM8x74.

https://en.wikipedia.org/wiki/List_of_Qualcomm_Snapdragon_device has a good overview that translates the marketing names into the model numbers but it doesn't have internal code names, so I'm not sure where the APQ8064 fits it, as it was marketed as both the "S4 Pro" and the "600", depending on the revision.

Arnd

#5 lore raw

PATCH v2 2/3 ARM: qcom_defconfig: Enable HAVE_ARM_ARCH_TIMER

In reply to Stephen Boyd

Enable this config in the defconfig so that we can delete the selection logic surrounding it that exists in mach-qcom/Kconfig.

---
 arch/arm/configs/qcom_defconfig | 1 +
 1 file changed, 1 insertion(+)
arch/arm/configs/qcom_defconfig +1 -0
index ee54a706e8a3..6f34da7afd75 100644
@@ -22,6 +22,7 @@ CONFIG_ARCH_MSM8X60=y
 CONFIG_ARCH_MSM8960=y
 CONFIG_ARCH_MSM8974=y
 CONFIG_SMP=y
+CONFIG_HAVE_ARM_ARCH_TIMER=y
 CONFIG_PREEMPT=y
 CONFIG_AEABI=y
 CONFIG_HIGHMEM=y
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
#6 lore raw

PATCH v2 3/3 ARM: qcom: Drop ARCH_MSM* configs

In reply to Stephen Boyd

Drop these configs now that we select the clocksources we need via the defconfig.

---
 arch/arm/mach-qcom/Kconfig | 12 ------------
 1 file changed, 12 deletions(-)
arch/arm/mach-qcom/Kconfig +0 -12
index 35a03967d9c2..0945056e3cdf 100644
@@ -18,16 +18,4 @@ config HAVE_CLKSRC_QCOM
 	  Select this option if you want to support platforms
 	  with the qcom clocksource such as MSM8660 and MSM8960.
 
-config ARCH_MSM8X60
-	bool "Enable support for MSM8X60"
-	select CLKSRC_QCOM
-
-config ARCH_MSM8960
-	bool "Enable support for MSM8960"
-	select CLKSRC_QCOM
-
-config ARCH_MSM8974
-	bool "Enable support for MSM8974"
-	select HAVE_ARM_ARCH_TIMER
-
 endif
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project