Skip to contentSkip to conversation

PM / OPP: Remove ARCH_HAS_OPP

PATCH New Mark Brown 8 participants 15 messages Jun 6, 2014 – Jun 9, 2014

Subsystems (13)
lore
Share & tools
lore

Mark Brown

author
#0 lore raw

PATCH 1/1 PM / OPP: Remove ARCH_HAS_OPP

From: Mark Brown <[email protected]>

Since the OPP layer is a kernel library which has been converted to be directly selectable by its callers rather than user selectable and requiring architectures to enable it explicitly the ARCH_HAS_OPP symbol has become redundant and can be removed. Do so.

---
 Documentation/power/opp.txt    | 3 ---
 arch/arm/mach-exynos/Kconfig   | 1 -
 arch/arm/mach-highbank/Kconfig | 1 -
 arch/arm/mach-imx/Kconfig      | 1 -
 arch/arm/mach-omap2/Kconfig    | 1 -
 arch/arm/mach-shmobile/Kconfig | 2 --
 arch/arm/mach-vexpress/Kconfig | 1 -
 arch/arm/mach-zynq/Kconfig     | 1 -
 drivers/devfreq/Kconfig        | 1 -
 kernel/power/Kconfig           | 3 ---
 10 files changed, 15 deletions(-)
Documentation/power/opp.txt +0 -3
index a9adad8..c6279c2 100644
@@ -51,9 +51,6 @@ Typical usage of the OPP library is as follows:
 SoC framework	-> modifies on required cases certain OPPs	-> OPP layer
 		-> queries to search/retrieve information	->
 
-Architectures that provide a SoC framework for OPP should select ARCH_HAS_OPP
-to make the OPP layer available.
-
 OPP layer expects each domain to be represented by a unique device pointer. SoC
 framework registers a set of initial OPPs per device with the OPP layer. This
 list is expected to be an optimally small number typically around 5 per device.
arch/arm/mach-exynos/Kconfig +0 -1
index d58995c9..3f78c45 100644
@@ -103,7 +103,6 @@ config SOC_EXYNOS5440
 	default y
 	depends on ARCH_EXYNOS5
 	select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
-	select ARCH_HAS_OPP
 	select HAVE_ARM_ARCH_TIMER
 	select AUTO_ZRELADDR
 	select MIGHT_HAVE_PCI
arch/arm/mach-highbank/Kconfig +0 -1
index 830b76e..bef970f 100644
@@ -3,7 +3,6 @@ config ARCH_HIGHBANK
 	select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
 	select ARCH_HAS_CPUFREQ
 	select ARCH_HAS_HOLES_MEMORYMODEL
-	select ARCH_HAS_OPP
 	select ARCH_SUPPORTS_BIG_ENDIAN
 	select ARM_AMBA
 	select ARM_ERRATA_764369 if SMP
arch/arm/mach-imx/Kconfig +0 -1
index 4cce93d..95690e4 100644
@@ -1,7 +1,6 @@
 config ARCH_MXC
 	bool "Freescale i.MX family" if ARCH_MULTI_V4_V5 || ARCH_MULTI_V6_V7
 	select ARCH_HAS_CPUFREQ
-	select ARCH_HAS_OPP
 	select ARCH_REQUIRE_GPIOLIB
 	select ARM_CPU_SUSPEND if PM
 	select CLKSRC_MMIO
arch/arm/mach-omap2/Kconfig +0 -1
index 0ba4826..524b027 100644
@@ -12,7 +12,6 @@ config ARCH_OMAP3
 	bool "TI OMAP3"
 	depends on ARCH_MULTI_V7
 	select ARCH_OMAP2PLUS
-	select ARCH_HAS_OPP
 	select ARM_CPU_SUSPEND if PM
 	select OMAP_INTERCONNECT
 	select PM_OPP if PM
arch/arm/mach-shmobile/Kconfig +0 -2
index dbd954e..b51d142 100644
@@ -86,7 +86,6 @@ config ARCH_R8A73A4
 	select SH_CLK_CPG
 	select RENESAS_IRQC
 	select ARCH_HAS_CPUFREQ
-	select ARCH_HAS_OPP
 	select SYS_SUPPORTS_SH_CMT
 	select SYS_SUPPORTS_SH_TMU
 
@@ -265,7 +264,6 @@ config MACH_KZM9G
 	bool "KZM-A9-GT board"
 	depends on ARCH_SH73A0
 	select ARCH_HAS_CPUFREQ
-	select ARCH_HAS_OPP
 	select ARCH_REQUIRE_GPIOLIB
 	select REGULATOR_FIXED_VOLTAGE if REGULATOR
 	select SND_SOC_AK4642 if SND_SIMPLE_CARD
arch/arm/mach-vexpress/Kconfig +0 -1
index 90249cf..71629fe 100644
@@ -66,7 +66,6 @@ config ARCH_VEXPRESS_DCSCB
 config ARCH_VEXPRESS_SPC
 	bool "Versatile Express Serial Power Controller (SPC)"
 	select ARCH_HAS_CPUFREQ
-	select ARCH_HAS_OPP
 	select PM_OPP
 	help
 	  The TC2 (A15x2 A7x3) versatile express core tile integrates a logic
arch/arm/mach-zynq/Kconfig +0 -1
index 573e0db..bc485f2 100644
@@ -1,7 +1,6 @@
 config ARCH_ZYNQ
 	bool "Xilinx Zynq ARM Cortex A9 Platform" if ARCH_MULTI_V7
 	select ARCH_HAS_CPUFREQ
-	select ARCH_HAS_OPP
 	select ARCH_SUPPORTS_BIG_ENDIAN
 	select ARM_AMBA
 	select ARM_GIC
drivers/devfreq/Kconfig +0 -1
index 49e74c1..3dced0a 100644
@@ -68,7 +68,6 @@ comment "DEVFREQ Drivers"
 config ARM_EXYNOS4_BUS_DEVFREQ
 	bool "ARM Exynos4210/4212/4412 Memory Bus DEVFREQ Driver"
 	depends on (CPU_EXYNOS4210 || SOC_EXYNOS4212 || SOC_EXYNOS4412) && !ARCH_MULTIPLATFORM
-	select ARCH_HAS_OPP
 	select DEVFREQ_GOV_SIMPLE_ONDEMAND
 	select PM_OPP
 	help
kernel/power/Kconfig +0 -3
index 9a83d78..e4e4121 100644
@@ -253,9 +253,6 @@ config APM_EMULATION
 	  anything, try disabling/enabling this option (or disabling/enabling
 	  APM in your BIOS).
 
-config ARCH_HAS_OPP
-	bool
-
 config PM_OPP
 	bool
 	---help---
Signature · 1 line
2.0.0
#1 lore raw

PATCH 1/1 PM / OPP: Remove ARCH_HAS_OPP

Quoted 8 lines · Mark Brown

From: Mark Brown <[email protected]>

Since the OPP layer is a kernel library which has been converted to be directly selectable by its callers rather than user selectable and requiring architectures to enable it explicitly the ARCH_HAS_OPP symbol has become redundant and can be removed. Do so.

Quoted 12 lines
---
 Documentation/power/opp.txt    | 3 ---
 arch/arm/mach-exynos/Kconfig   | 1 -
 arch/arm/mach-highbank/Kconfig | 1 -
 arch/arm/mach-imx/Kconfig      | 1 -
 arch/arm/mach-omap2/Kconfig    | 1 -
 arch/arm/mach-shmobile/Kconfig | 2 --
 arch/arm/mach-vexpress/Kconfig | 1 -
 arch/arm/mach-zynq/Kconfig     | 1 -
 drivers/devfreq/Kconfig        | 1 -
 kernel/power/Kconfig           | 3 ---
 10 files changed, 15 deletions(-)

shmobile portion:

Quoted 135 lines
Documentation/power/opp.txt +0 -3
index a9adad8..c6279c2 100644
@@ -51,9 +51,6 @@ Typical usage of the OPP library is as follows:
 SoC framework	-> modifies on required cases certain OPPs	-> OPP layer
 		-> queries to search/retrieve information	->
 
-Architectures that provide a SoC framework for OPP should select ARCH_HAS_OPP
-to make the OPP layer available.
-
 OPP layer expects each domain to be represented by a unique device pointer. SoC
 framework registers a set of initial OPPs per device with the OPP layer. This
 list is expected to be an optimally small number typically around 5 per device.
arch/arm/mach-exynos/Kconfig +0 -1
index d58995c9..3f78c45 100644
@@ -103,7 +103,6 @@ config SOC_EXYNOS5440
 	default y
 	depends on ARCH_EXYNOS5
 	select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
-	select ARCH_HAS_OPP
 	select HAVE_ARM_ARCH_TIMER
 	select AUTO_ZRELADDR
 	select MIGHT_HAVE_PCI
arch/arm/mach-highbank/Kconfig +0 -1
index 830b76e..bef970f 100644
@@ -3,7 +3,6 @@ config ARCH_HIGHBANK
 	select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
 	select ARCH_HAS_CPUFREQ
 	select ARCH_HAS_HOLES_MEMORYMODEL
-	select ARCH_HAS_OPP
 	select ARCH_SUPPORTS_BIG_ENDIAN
 	select ARM_AMBA
 	select ARM_ERRATA_764369 if SMP
arch/arm/mach-imx/Kconfig +0 -1
index 4cce93d..95690e4 100644
@@ -1,7 +1,6 @@
 config ARCH_MXC
 	bool "Freescale i.MX family" if ARCH_MULTI_V4_V5 || ARCH_MULTI_V6_V7
 	select ARCH_HAS_CPUFREQ
-	select ARCH_HAS_OPP
 	select ARCH_REQUIRE_GPIOLIB
 	select ARM_CPU_SUSPEND if PM
 	select CLKSRC_MMIO
arch/arm/mach-omap2/Kconfig +0 -1
index 0ba4826..524b027 100644
@@ -12,7 +12,6 @@ config ARCH_OMAP3
 	bool "TI OMAP3"
 	depends on ARCH_MULTI_V7
 	select ARCH_OMAP2PLUS
-	select ARCH_HAS_OPP
 	select ARM_CPU_SUSPEND if PM
 	select OMAP_INTERCONNECT
 	select PM_OPP if PM
arch/arm/mach-shmobile/Kconfig +0 -2
index dbd954e..b51d142 100644
@@ -86,7 +86,6 @@ config ARCH_R8A73A4
 	select SH_CLK_CPG
 	select RENESAS_IRQC
 	select ARCH_HAS_CPUFREQ
-	select ARCH_HAS_OPP
 	select SYS_SUPPORTS_SH_CMT
 	select SYS_SUPPORTS_SH_TMU
 
@@ -265,7 +264,6 @@ config MACH_KZM9G
 	bool "KZM-A9-GT board"
 	depends on ARCH_SH73A0
 	select ARCH_HAS_CPUFREQ
-	select ARCH_HAS_OPP
 	select ARCH_REQUIRE_GPIOLIB
 	select REGULATOR_FIXED_VOLTAGE if REGULATOR
 	select SND_SOC_AK4642 if SND_SIMPLE_CARD
arch/arm/mach-vexpress/Kconfig +0 -1
index 90249cf..71629fe 100644
@@ -66,7 +66,6 @@ config ARCH_VEXPRESS_DCSCB
 config ARCH_VEXPRESS_SPC
 	bool "Versatile Express Serial Power Controller (SPC)"
 	select ARCH_HAS_CPUFREQ
-	select ARCH_HAS_OPP
 	select PM_OPP
 	help
 	  The TC2 (A15x2 A7x3) versatile express core tile integrates a logic
arch/arm/mach-zynq/Kconfig +0 -1
index 573e0db..bc485f2 100644
@@ -1,7 +1,6 @@
 config ARCH_ZYNQ
 	bool "Xilinx Zynq ARM Cortex A9 Platform" if ARCH_MULTI_V7
 	select ARCH_HAS_CPUFREQ
-	select ARCH_HAS_OPP
 	select ARCH_SUPPORTS_BIG_ENDIAN
 	select ARM_AMBA
 	select ARM_GIC
drivers/devfreq/Kconfig +0 -1
index 49e74c1..3dced0a 100644
@@ -68,7 +68,6 @@ comment "DEVFREQ Drivers"
 config ARM_EXYNOS4_BUS_DEVFREQ
 	bool "ARM Exynos4210/4212/4412 Memory Bus DEVFREQ Driver"
 	depends on (CPU_EXYNOS4210 || SOC_EXYNOS4212 || SOC_EXYNOS4412) && !ARCH_MULTIPLATFORM
-	select ARCH_HAS_OPP
 	select DEVFREQ_GOV_SIMPLE_ONDEMAND
 	select PM_OPP
 	help
kernel/power/Kconfig +0 -3
index 9a83d78..e4e4121 100644
@@ -253,9 +253,6 @@ config APM_EMULATION
 	  anything, try disabling/enabling this option (or disabling/enabling
 	  APM in your BIOS).
 
-config ARCH_HAS_OPP
-	bool
-
 config PM_OPP
 	bool
 	---help---
Signature · 1 line
2.0.0
maintainer
#2 lore raw

PATCH 1/1 PM / OPP: Remove ARCH_HAS_OPP

Quoted 22 lines · Simon Horman
Quoted 8 lines · Mark Brown

From: Mark Brown <[email protected]>

Since the OPP layer is a kernel library which has been converted to be directly selectable by its callers rather than user selectable and requiring architectures to enable it explicitly the ARCH_HAS_OPP symbol has become redundant and can be removed. Do so.

Quoted 12 lines
---
 Documentation/power/opp.txt    | 3 ---
 arch/arm/mach-exynos/Kconfig   | 1 -
 arch/arm/mach-highbank/Kconfig | 1 -
 arch/arm/mach-imx/Kconfig      | 1 -
 arch/arm/mach-omap2/Kconfig    | 1 -
 arch/arm/mach-shmobile/Kconfig | 2 --
 arch/arm/mach-vexpress/Kconfig | 1 -
 arch/arm/mach-zynq/Kconfig     | 1 -
 drivers/devfreq/Kconfig        | 1 -
 kernel/power/Kconfig           | 3 ---
 10 files changed, 15 deletions(-)
Quoted 3 lines

shmobile portion:

Hi Simon, Mark,

Nice to see cleanups in this area. Reducing the number of Kconfig symbols must be a good thing.

I'm not sure about the expected merge order for this kind of change vs queued up stuff in the renesas git tree, but I believe the following patch selects ARCH_HAS_OPP:

[PATCH v3] ARM: shmobile: Mark all SoCs in shmobile as CPUFreq, capable

Cheers,

/ magnus

#3 lore raw

PATCH 1/1 PM / OPP: Remove ARCH_HAS_OPP

Quoted 29 lines · Magnus Damm
Quoted 22 lines · Simon Horman
Quoted 8 lines · Mark Brown

From: Mark Brown <[email protected]>

Since the OPP layer is a kernel library which has been converted to be directly selectable by its callers rather than user selectable and requiring architectures to enable it explicitly the ARCH_HAS_OPP symbol has become redundant and can be removed. Do so.

Quoted 12 lines
---
 Documentation/power/opp.txt    | 3 ---
 arch/arm/mach-exynos/Kconfig   | 1 -
 arch/arm/mach-highbank/Kconfig | 1 -
 arch/arm/mach-imx/Kconfig      | 1 -
 arch/arm/mach-omap2/Kconfig    | 1 -
 arch/arm/mach-shmobile/Kconfig | 2 --
 arch/arm/mach-vexpress/Kconfig | 1 -
 arch/arm/mach-zynq/Kconfig     | 1 -
 drivers/devfreq/Kconfig        | 1 -
 kernel/power/Kconfig           | 3 ---
 10 files changed, 15 deletions(-)
Quoted 3 lines

shmobile portion:

Hi Simon, Mark,

Quoted 8 lines

Nice to see cleanups in this area. Reducing the number of Kconfig symbols must be a good thing.

I'm not sure about the expected merge order for this kind of change vs queued up stuff in the renesas git tree, but I believe the following patch selects ARCH_HAS_OPP:

[PATCH v3] ARM: shmobile: Mark all SoCs in shmobile as CPUFreq, capable

I propose that we fix that up by adding an incremental patch to mach-shmobile via my renesas tree once the dependency (assuming there is one) is in Linus's tree.

maintainer
#4 lore raw

PATCH 1/1 PM / OPP: Remove ARCH_HAS_OPP

Quoted 37 lines · Simon Horman
Quoted 36 lines · Magnus Damm
Quoted 22 lines · Simon Horman
Quoted 8 lines · Mark Brown

From: Mark Brown <[email protected]>

Since the OPP layer is a kernel library which has been converted to be directly selectable by its callers rather than user selectable and requiring architectures to enable it explicitly the ARCH_HAS_OPP symbol has become redundant and can be removed. Do so.

Quoted 12 lines
---
 Documentation/power/opp.txt    | 3 ---
 arch/arm/mach-exynos/Kconfig   | 1 -
 arch/arm/mach-highbank/Kconfig | 1 -
 arch/arm/mach-imx/Kconfig      | 1 -
 arch/arm/mach-omap2/Kconfig    | 1 -
 arch/arm/mach-shmobile/Kconfig | 2 --
 arch/arm/mach-vexpress/Kconfig | 1 -
 arch/arm/mach-zynq/Kconfig     | 1 -
 drivers/devfreq/Kconfig        | 1 -
 kernel/power/Kconfig           | 3 ---
 10 files changed, 15 deletions(-)
Quoted 3 lines

shmobile portion:

Hi Simon, Mark,

Nice to see cleanups in this area. Reducing the number of Kconfig symbols must be a good thing.

I'm not sure about the expected merge order for this kind of change vs queued up stuff in the renesas git tree, but I believe the following patch selects ARCH_HAS_OPP:

Quoted 5 lines
Quoted 1 line

[PATCH v3] ARM: shmobile: Mark all SoCs in shmobile as CPUFreq, capable

I propose that we fix that up by adding an incremental patch to mach-shmobile via my renesas tree once the dependency (assuming there is one) is in Linus's tree.

Sounds good. Thanks!

/ magnus

author
#5 lore raw

PATCH 1/1 PM / OPP: Remove ARCH_HAS_OPP

In reply to Simon Horman
Quoted 11 lines · Simon Horman
Quoted 5 lines · Magnus Damm

I'm not sure about the expected merge order for this kind of change vs queued up stuff in the renesas git tree, but I believe the following patch selects ARCH_HAS_OPP:

[PATCH v3] ARM: shmobile: Mark all SoCs in shmobile as CPUFreq, capable

I propose that we fix that up by adding an incremental patch to mach-shmobile via my renesas tree once the dependency (assuming there is one) is in Linus's tree.

Yes, the conversion to make ARCH_HAS_OPP unused is in Raphael's tree for
the merge window. I'd expect this patch to end up going after the merge
window (or at the end I guess).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140606/e1c776b1/attachment.sig>

#6 lore raw

PATCH 1/1 PM / OPP: Remove ARCH_HAS_OPP

Quoted 12 lines · Mark Brown

--cU9XODsizZBnwgll
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Quoted 5 lines · Simon Horman
Quoted 3 lines · Magnus Damm

I'm not sure about the expected merge order for this kind of change vs queued up stuff in the renesas git tree, but I believe the following patch selects ARCH_HAS_OPP:

Quoted 8 lines
Quoted 5 lines
Quoted 1 line

[PATCH v3] ARM: shmobile: Mark all SoCs in shmobile as CPUFreq, capable

I propose that we fix that up by adding an incremental patch to mach-shmobile via my renesas tree once the dependency (assuming there is one) is in Linus's tree.

Yes, the conversion to make ARCH_HAS_OPP unused is in Raphael's tree for the merge window.

Perhaps already merged?

Rafael

author
#7 lore raw

PATCH 1/1 PM / OPP: Remove ARCH_HAS_OPP

Quoted 6 lines · Rafael J. Wysocki
Quoted 2 lines · Mark Brown

Yes, the conversion to make ARCH_HAS_OPP unused is in Raphael's tree for the merge window.

Perhaps already merged?

Yes, looks like it is.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140609/f9241515/attachment.sig>

#8 lore raw

PATCH 1/1 PM / OPP: Remove ARCH_HAS_OPP

Quoted 9 lines · Mark Brown
Quoted 6 lines · Rafael J. Wysocki
Quoted 2 lines · Mark Brown

Yes, the conversion to make ARCH_HAS_OPP unused is in Raphael's tree for the merge window.

Perhaps already merged?

Yes, looks like it is.

But it doesn't apply for me on top of the current Linus' tree.

Can you please rebase?

Rafael

author
#9 lore raw

PATCH 1/1 PM / OPP: Remove ARCH_HAS_OPP

Quoted 7 lines · Rafael J. Wysocki
Quoted 1 line · Mark Brown

Yes, looks like it is.

But it doesn't apply for me on top of the current Linus' tree.

Can you please rebase?

It probably depends on other people's trees too, I just killed all the
usages in -next - I gather the SH trees added some new ones for example.
I'd expect it'll apply after the merge window, if not that's the time to
look at it.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140609/8e1c04eb/attachment-0001.sig>

#10 lore raw

PATCH 1/1 PM / OPP: Remove ARCH_HAS_OPP

Quoted 10 lines · Mark Brown

--fYgRtaZIy+F1uhp1
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Quoted 3 lines · Rafael J. Wysocki
Quoted 1 line · Mark Brown

Yes, looks like it is.

Quoted 8 lines
Quoted 3 lines

But it doesn't apply for me on top of the current Linus' tree.

Can you please rebase?

It probably depends on other people's trees too, I just killed all the usages in -next - I gather the SH trees added some new ones for example. I'd expect it'll apply after the merge window, if not that's the time to look at it.

OK

#11 lore raw

PATCH 1/1 PM / OPP: Remove ARCH_HAS_OPP

In reply to Mark Brown
Quoted 8 lines · Mark Brown

From: Mark Brown <[email protected]>

Since the OPP layer is a kernel library which has been converted to be directly selectable by its callers rather than user selectable and requiring architectures to enable it explicitly the ARCH_HAS_OPP symbol has become redundant and can be removed. Do so.

Quoted 148 lines
---
 Documentation/power/opp.txt    | 3 ---
 arch/arm/mach-exynos/Kconfig   | 1 -
 arch/arm/mach-highbank/Kconfig | 1 -
 arch/arm/mach-imx/Kconfig      | 1 -
 arch/arm/mach-omap2/Kconfig    | 1 -
 arch/arm/mach-shmobile/Kconfig | 2 --
 arch/arm/mach-vexpress/Kconfig | 1 -
 arch/arm/mach-zynq/Kconfig     | 1 -
 drivers/devfreq/Kconfig        | 1 -
 kernel/power/Kconfig           | 3 ---
 10 files changed, 15 deletions(-)
Documentation/power/opp.txt +0 -3
index a9adad8..c6279c2 100644
@@ -51,9 +51,6 @@ Typical usage of the OPP library is as follows:
 SoC framework  -> modifies on required cases certain OPPs      -> OPP layer
                -> queries to search/retrieve information       ->
 
-Architectures that provide a SoC framework for OPP should select ARCH_HAS_OPP
-to make the OPP layer available.
-
 OPP layer expects each domain to be represented by a unique device pointer. SoC
 framework registers a set of initial OPPs per device with the OPP layer. This
 list is expected to be an optimally small number typically around 5 per device.
arch/arm/mach-exynos/Kconfig +0 -1
index d58995c9..3f78c45 100644
@@ -103,7 +103,6 @@ config SOC_EXYNOS5440
        default y
        depends on ARCH_EXYNOS5
        select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
-       select ARCH_HAS_OPP
        select HAVE_ARM_ARCH_TIMER
        select AUTO_ZRELADDR
        select MIGHT_HAVE_PCI
arch/arm/mach-highbank/Kconfig +0 -1
index 830b76e..bef970f 100644
@@ -3,7 +3,6 @@ config ARCH_HIGHBANK
        select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
        select ARCH_HAS_CPUFREQ
        select ARCH_HAS_HOLES_MEMORYMODEL
-       select ARCH_HAS_OPP
        select ARCH_SUPPORTS_BIG_ENDIAN
        select ARM_AMBA
        select ARM_ERRATA_764369 if SMP
arch/arm/mach-imx/Kconfig +0 -1
index 4cce93d..95690e4 100644
@@ -1,7 +1,6 @@
 config ARCH_MXC
        bool "Freescale i.MX family" if ARCH_MULTI_V4_V5 || ARCH_MULTI_V6_V7
        select ARCH_HAS_CPUFREQ
-       select ARCH_HAS_OPP
        select ARCH_REQUIRE_GPIOLIB
        select ARM_CPU_SUSPEND if PM
        select CLKSRC_MMIO
arch/arm/mach-omap2/Kconfig +0 -1
index 0ba4826..524b027 100644
@@ -12,7 +12,6 @@ config ARCH_OMAP3
        bool "TI OMAP3"
        depends on ARCH_MULTI_V7
        select ARCH_OMAP2PLUS
-       select ARCH_HAS_OPP
        select ARM_CPU_SUSPEND if PM
        select OMAP_INTERCONNECT
        select PM_OPP if PM
arch/arm/mach-shmobile/Kconfig +0 -2
index dbd954e..b51d142 100644
@@ -86,7 +86,6 @@ config ARCH_R8A73A4
        select SH_CLK_CPG
        select RENESAS_IRQC
        select ARCH_HAS_CPUFREQ
-       select ARCH_HAS_OPP
        select SYS_SUPPORTS_SH_CMT
        select SYS_SUPPORTS_SH_TMU
 
@@ -265,7 +264,6 @@ config MACH_KZM9G
        bool "KZM-A9-GT board"
        depends on ARCH_SH73A0
        select ARCH_HAS_CPUFREQ
-       select ARCH_HAS_OPP
        select ARCH_REQUIRE_GPIOLIB
        select REGULATOR_FIXED_VOLTAGE if REGULATOR
        select SND_SOC_AK4642 if SND_SIMPLE_CARD
arch/arm/mach-vexpress/Kconfig +0 -1
index 90249cf..71629fe 100644
@@ -66,7 +66,6 @@ config ARCH_VEXPRESS_DCSCB
 config ARCH_VEXPRESS_SPC
        bool "Versatile Express Serial Power Controller (SPC)"
        select ARCH_HAS_CPUFREQ
-       select ARCH_HAS_OPP
        select PM_OPP
        help
          The TC2 (A15x2 A7x3) versatile express core tile integrates a logic
arch/arm/mach-zynq/Kconfig +0 -1
index 573e0db..bc485f2 100644
@@ -1,7 +1,6 @@
 config ARCH_ZYNQ
        bool "Xilinx Zynq ARM Cortex A9 Platform" if ARCH_MULTI_V7
        select ARCH_HAS_CPUFREQ
-       select ARCH_HAS_OPP
        select ARCH_SUPPORTS_BIG_ENDIAN
        select ARM_AMBA
        select ARM_GIC
drivers/devfreq/Kconfig +0 -1
index 49e74c1..3dced0a 100644
@@ -68,7 +68,6 @@ comment "DEVFREQ Drivers"
 config ARM_EXYNOS4_BUS_DEVFREQ
        bool "ARM Exynos4210/4212/4412 Memory Bus DEVFREQ Driver"
        depends on (CPU_EXYNOS4210 || SOC_EXYNOS4212 || SOC_EXYNOS4412) && !ARCH_MULTIPLATFORM
-       select ARCH_HAS_OPP
        select DEVFREQ_GOV_SIMPLE_ONDEMAND
        select PM_OPP
        help
kernel/power/Kconfig +0 -4
index 9a83d78..e4e4121 100644
@@ -253,9 +253,6 @@ config APM_EMULATION
          anything, try disabling/enabling this option (or disabling/enabling
          APM in your BIOS).
 
-config ARCH_HAS_OPP
-       bool
-
 config PM_OPP
        bool
        ---help---
--

2.0.0

#12 lore raw

PATCH 1/1 PM / OPP: Remove ARCH_HAS_OPP

In reply to Mark Brown

On 06/06/2014 05:36 AM, Mark Brown wrote:
[...]

arch/arm/mach-omap2/Kconfig config ARCH_OMAP3 · line 17

Quoted 12 lines
arch/arm/mach-omap2/Kconfig +0 -1
index 0ba4826..524b027 100644
@@ -12,7 +12,6 @@ config ARCH_OMAP3
 	bool "TI OMAP3"
 	depends on ARCH_MULTI_V7
 	select ARCH_OMAP2PLUS
-	select ARCH_HAS_OPP
 	select ARM_CPU_SUSPEND if PM
 	select OMAP_INTERCONNECT
 	select PM_OPP if PM

For OMAP portion:

Signature · 2 lines
Regards,
Nishanth Menon
#13 lore raw

PATCH 1/1 PM / OPP: Remove ARCH_HAS_OPP

In reply to Mark Brown
Quoted 9 lines · Mark Brown

From: Mark Brown <[email protected]>

Since the OPP layer is a kernel library which has been converted to be directly selectable by its callers rather than user selectable and requiring architectures to enable it explicitly the ARCH_HAS_OPP symbol has become redundant and can be removed. Do so.

---

...

Quoted 1 line
 arch/arm/mach-imx/Kconfig      | 1 -
#14 lore raw

PATCH 1/1 PM / OPP: Remove ARCH_HAS_OPP

In reply to Mark Brown
Quoted 8 lines · Mark Brown

From: Mark Brown <[email protected]>

Since the OPP layer is a kernel library which has been converted to be directly selectable by its callers rather than user selectable and requiring architectures to enable it explicitly the ARCH_HAS_OPP symbol has become redundant and can be removed. Do so.

Quoted 12 lines
---
 Documentation/power/opp.txt    | 3 ---
 arch/arm/mach-exynos/Kconfig   | 1 -
 arch/arm/mach-highbank/Kconfig | 1 -
 arch/arm/mach-imx/Kconfig      | 1 -
 arch/arm/mach-omap2/Kconfig    | 1 -
 arch/arm/mach-shmobile/Kconfig | 2 --
 arch/arm/mach-vexpress/Kconfig | 1 -
 arch/arm/mach-zynq/Kconfig     | 1 -
 drivers/devfreq/Kconfig        | 1 -
 kernel/power/Kconfig           | 3 ---
 10 files changed, 15 deletions(-)