Remove ARCH_MSM* configs
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
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
@@ -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
@@ -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
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@@ -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 alphanumericallyarch/arm/mach-qcom/Kconfig +0
-0
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
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@@ -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 alphanumericallyarch/arm/mach-qcom/Kconfig +0
-0@@ -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
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_8X60because 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 perhapsARCH_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_FAMILYwould 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
PATCH v2 2/3 ARM: qcom_defconfig: Enable HAVE_ARM_ARCH_TIMER
In reply to Stephen BoydEnable 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
@@ -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
PATCH v2 3/3 ARM: qcom: Drop ARCH_MSM* configs
In reply to Stephen BoydDrop 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
@@ -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