Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
f7d50a15
Commit
f7d50a15
authored
Jan 17, 2020
by
Rafael J. Wysocki
Browse files
Options
Browse Files
Download
Plain Diff
Merge back cpuidle material for v5.6.
parents
57388a2c
53eb82b0
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
8 additions
and
65 deletions
+8
-65
drivers/cpuidle/Kconfig.arm
drivers/cpuidle/Kconfig.arm
+6
-6
drivers/cpuidle/cpuidle-clps711x.c
drivers/cpuidle/cpuidle-clps711x.c
+1
-4
drivers/cpuidle/cpuidle-kirkwood.c
drivers/cpuidle/cpuidle-kirkwood.c
+1
-4
drivers/cpuidle/driver.c
drivers/cpuidle/driver.c
+0
-46
include/linux/cpuidle.h
include/linux/cpuidle.h
+0
-5
No files found.
drivers/cpuidle/Kconfig.arm
View file @
f7d50a15
...
...
@@ -25,7 +25,7 @@ config ARM_PSCI_CPUIDLE
config ARM_BIG_LITTLE_CPUIDLE
bool "Support for ARM big.LITTLE processors"
depends on ARCH_VEXPRESS_TC2_PM || ARCH_EXYNOS
depends on ARCH_VEXPRESS_TC2_PM || ARCH_EXYNOS
|| COMPILE_TEST
depends on MCPM && !ARM64
select ARM_CPU_SUSPEND
select CPU_IDLE_MULTIPLE_DRIVERS
...
...
@@ -51,13 +51,13 @@ config ARM_HIGHBANK_CPUIDLE
config ARM_KIRKWOOD_CPUIDLE
bool "CPU Idle Driver for Marvell Kirkwood SoCs"
depends on
MACH_KIRKWOOD
&& !ARM64
depends on
(MACH_KIRKWOOD || COMPILE_TEST)
&& !ARM64
help
This adds the CPU Idle driver for Marvell Kirkwood SoCs.
config ARM_ZYNQ_CPUIDLE
bool "CPU Idle Driver for Xilinx Zynq processors"
depends on
ARCH_ZYNQ
&& !ARM64
depends on
(ARCH_ZYNQ || COMPILE_TEST)
&& !ARM64
help
Select this to enable cpuidle on Xilinx Zynq processors.
...
...
@@ -70,19 +70,19 @@ config ARM_U8500_CPUIDLE
config ARM_AT91_CPUIDLE
bool "Cpu Idle Driver for the AT91 processors"
default y
depends on
ARCH_AT91
&& !ARM64
depends on
(ARCH_AT91 || COMPILE_TEST)
&& !ARM64
help
Select this to enable cpuidle for AT91 processors.
config ARM_EXYNOS_CPUIDLE
bool "Cpu Idle Driver for the Exynos processors"
depends on
ARCH_EXYNOS
&& !ARM64
depends on
(ARCH_EXYNOS || COMPILE_TEST)
&& !ARM64
select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP
help
Select this to enable cpuidle for Exynos processors.
config ARM_MVEBU_V7_CPUIDLE
bool "CPU Idle Driver for mvebu v7 family processors"
depends on
ARCH_MVEBU
&& !ARM64
depends on
(ARCH_MVEBU || COMPILE_TEST)
&& !ARM64
help
Select this to enable cpuidle on Armada 370, 38x and XP processors.
drivers/cpuidle/cpuidle-clps711x.c
View file @
f7d50a15
...
...
@@ -37,10 +37,7 @@ static struct cpuidle_driver clps711x_idle_driver = {
static
int
__init
clps711x_cpuidle_probe
(
struct
platform_device
*
pdev
)
{
struct
resource
*
res
;
res
=
platform_get_resource
(
pdev
,
IORESOURCE_MEM
,
0
);
clps711x_halt
=
devm_ioremap_resource
(
&
pdev
->
dev
,
res
);
clps711x_halt
=
devm_platform_ioremap_resource
(
pdev
,
0
);
if
(
IS_ERR
(
clps711x_halt
))
return
PTR_ERR
(
clps711x_halt
);
...
...
drivers/cpuidle/cpuidle-kirkwood.c
View file @
f7d50a15
...
...
@@ -55,10 +55,7 @@ static struct cpuidle_driver kirkwood_idle_driver = {
/* Initialize CPU idle by registering the idle states */
static
int
kirkwood_cpuidle_probe
(
struct
platform_device
*
pdev
)
{
struct
resource
*
res
;
res
=
platform_get_resource
(
pdev
,
IORESOURCE_MEM
,
0
);
ddr_operation_base
=
devm_ioremap_resource
(
&
pdev
->
dev
,
res
);
ddr_operation_base
=
devm_platform_ioremap_resource
(
pdev
,
0
);
if
(
IS_ERR
(
ddr_operation_base
))
return
PTR_ERR
(
ddr_operation_base
);
...
...
drivers/cpuidle/driver.c
View file @
f7d50a15
...
...
@@ -155,8 +155,6 @@ static void __cpuidle_driver_init(struct cpuidle_driver *drv)
{
int
i
;
drv
->
refcnt
=
0
;
/*
* Use all possible CPUs as the default, because if the kernel boots
* with some CPUs offline and then we online one of them, the CPU
...
...
@@ -240,9 +238,6 @@ static int __cpuidle_register_driver(struct cpuidle_driver *drv)
*/
static
void
__cpuidle_unregister_driver
(
struct
cpuidle_driver
*
drv
)
{
if
(
WARN_ON
(
drv
->
refcnt
>
0
))
return
;
if
(
drv
->
bctimer
)
{
drv
->
bctimer
=
0
;
on_each_cpu_mask
(
drv
->
cpumask
,
cpuidle_setup_broadcast_timer
,
...
...
@@ -349,47 +344,6 @@ struct cpuidle_driver *cpuidle_get_cpu_driver(struct cpuidle_device *dev)
}
EXPORT_SYMBOL_GPL
(
cpuidle_get_cpu_driver
);
/**
* cpuidle_driver_ref - get a reference to the driver.
*
* Increment the reference counter of the cpuidle driver associated with
* the current CPU.
*
* Returns a pointer to the driver, or NULL if the current CPU has no driver.
*/
struct
cpuidle_driver
*
cpuidle_driver_ref
(
void
)
{
struct
cpuidle_driver
*
drv
;
spin_lock
(
&
cpuidle_driver_lock
);
drv
=
cpuidle_get_driver
();
if
(
drv
)
drv
->
refcnt
++
;
spin_unlock
(
&
cpuidle_driver_lock
);
return
drv
;
}
/**
* cpuidle_driver_unref - puts down the refcount for the driver
*
* Decrement the reference counter of the cpuidle driver associated with
* the current CPU.
*/
void
cpuidle_driver_unref
(
void
)
{
struct
cpuidle_driver
*
drv
;
spin_lock
(
&
cpuidle_driver_lock
);
drv
=
cpuidle_get_driver
();
if
(
drv
&&
!
WARN_ON
(
drv
->
refcnt
<=
0
))
drv
->
refcnt
--
;
spin_unlock
(
&
cpuidle_driver_lock
);
}
/**
* cpuidle_driver_state_disabled - Disable or enable an idle state
* @drv: cpuidle driver owning the state
...
...
include/linux/cpuidle.h
View file @
f7d50a15
...
...
@@ -115,7 +115,6 @@ DECLARE_PER_CPU(struct cpuidle_device, cpuidle_dev);
struct
cpuidle_driver
{
const
char
*
name
;
struct
module
*
owner
;
int
refcnt
;
/* used by the cpuidle framework to setup the broadcast timer */
unsigned
int
bctimer
:
1
;
...
...
@@ -147,8 +146,6 @@ extern u64 cpuidle_poll_time(struct cpuidle_driver *drv,
extern
int
cpuidle_register_driver
(
struct
cpuidle_driver
*
drv
);
extern
struct
cpuidle_driver
*
cpuidle_get_driver
(
void
);
extern
struct
cpuidle_driver
*
cpuidle_driver_ref
(
void
);
extern
void
cpuidle_driver_unref
(
void
);
extern
void
cpuidle_driver_state_disabled
(
struct
cpuidle_driver
*
drv
,
int
idx
,
bool
disable
);
extern
void
cpuidle_unregister_driver
(
struct
cpuidle_driver
*
drv
);
...
...
@@ -186,8 +183,6 @@ static inline u64 cpuidle_poll_time(struct cpuidle_driver *drv,
static
inline
int
cpuidle_register_driver
(
struct
cpuidle_driver
*
drv
)
{
return
-
ENODEV
;
}
static
inline
struct
cpuidle_driver
*
cpuidle_get_driver
(
void
)
{
return
NULL
;
}
static
inline
struct
cpuidle_driver
*
cpuidle_driver_ref
(
void
)
{
return
NULL
;
}
static
inline
void
cpuidle_driver_unref
(
void
)
{}
static
inline
void
cpuidle_driver_state_disabled
(
struct
cpuidle_driver
*
drv
,
int
idx
,
bool
disable
)
{
}
static
inline
void
cpuidle_unregister_driver
(
struct
cpuidle_driver
*
drv
)
{
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment