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
nexedi
linux
Commits
b3378de0
Commit
b3378de0
authored
Oct 18, 2018
by
Tony Lindgren
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'gpio/ib-omap' into omap-for-v4.21/dt-ti-sysc
parents
a35f408e
5284521a
Changes
4
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
237 additions
and
130 deletions
+237
-130
arch/arm/mach-omap2/pm24xx.c
arch/arm/mach-omap2/pm24xx.c
+3
-4
arch/arm/mach-omap2/pm34xx.c
arch/arm/mach-omap2/pm34xx.c
+5
-9
drivers/gpio/gpio-omap.c
drivers/gpio/gpio-omap.c
+227
-104
include/linux/platform_data/gpio-omap.h
include/linux/platform_data/gpio-omap.h
+2
-13
No files found.
arch/arm/mach-omap2/pm24xx.c
View file @
b3378de0
...
...
@@ -18,6 +18,7 @@
* published by the Free Software Foundation.
*/
#include <linux/cpu_pm.h>
#include <linux/suspend.h>
#include <linux/sched.h>
#include <linux/proc_fs.h>
...
...
@@ -29,8 +30,6 @@
#include <linux/clk-provider.h>
#include <linux/irq.h>
#include <linux/time.h>
#include <linux/gpio.h>
#include <linux/platform_data/gpio-omap.h>
#include <asm/fncpy.h>
...
...
@@ -87,7 +86,7 @@ static int omap2_enter_full_retention(void)
l
=
omap_ctrl_readl
(
OMAP2_CONTROL_DEVCONF0
)
|
OMAP24XX_USBSTANDBYCTRL
;
omap_ctrl_writel
(
l
,
OMAP2_CONTROL_DEVCONF0
);
omap2_gpio_prepare_for_idle
(
0
);
cpu_cluster_pm_enter
(
);
/* One last check for pending IRQs to avoid extra latency due
* to sleeping unnecessarily. */
...
...
@@ -100,7 +99,7 @@ static int omap2_enter_full_retention(void)
OMAP_SDRC_REGADDR
(
SDRC_POWER
));
no_sleep:
omap2_gpio_resume_after_idle
();
cpu_cluster_pm_exit
();
clk_enable
(
osc_ck
);
...
...
arch/arm/mach-omap2/pm34xx.c
View file @
b3378de0
...
...
@@ -18,19 +18,18 @@
* published by the Free Software Foundation.
*/
#include <linux/cpu_pm.h>
#include <linux/pm.h>
#include <linux/suspend.h>
#include <linux/interrupt.h>
#include <linux/module.h>
#include <linux/list.h>
#include <linux/err.h>
#include <linux/gpio.h>
#include <linux/clk.h>
#include <linux/delay.h>
#include <linux/slab.h>
#include <linux/omap-dma.h>
#include <linux/omap-gpmc.h>
#include <linux/platform_data/gpio-omap.h>
#include <trace/events/power.h>
...
...
@@ -197,7 +196,6 @@ void omap_sram_idle(void)
int
mpu_next_state
=
PWRDM_POWER_ON
;
int
per_next_state
=
PWRDM_POWER_ON
;
int
core_next_state
=
PWRDM_POWER_ON
;
int
per_going_off
;
u32
sdrc_pwr
=
0
;
mpu_next_state
=
pwrdm_read_next_pwrst
(
mpu_pwrdm
);
...
...
@@ -227,10 +225,8 @@ void omap_sram_idle(void)
pwrdm_pre_transition
(
NULL
);
/* PER */
if
(
per_next_state
<
PWRDM_POWER_ON
)
{
per_going_off
=
(
per_next_state
==
PWRDM_POWER_OFF
)
?
1
:
0
;
omap2_gpio_prepare_for_idle
(
per_going_off
);
}
if
(
per_next_state
==
PWRDM_POWER_OFF
)
cpu_cluster_pm_enter
();
/* CORE */
if
(
core_next_state
<
PWRDM_POWER_ON
)
{
...
...
@@ -295,8 +291,8 @@ void omap_sram_idle(void)
pwrdm_post_transition
(
NULL
);
/* PER */
if
(
per_next_state
<
PWRDM_POWER_ON
)
omap2_gpio_resume_after_idle
();
if
(
per_next_state
==
PWRDM_POWER_OFF
)
cpu_cluster_pm_exit
();
}
static
void
omap3_pm_idle
(
void
)
...
...
drivers/gpio/gpio-omap.c
View file @
b3378de0
This diff is collapsed.
Click to expand it.
include/linux/platform_data/gpio-omap.h
View file @
b3378de0
...
...
@@ -197,23 +197,12 @@ struct omap_gpio_platform_data {
bool
is_mpuio
;
/* whether the bank is of type MPUIO */
u32
non_wakeup_gpios
;
u32
quirks
;
/* Version specific quirks mask */
struct
omap_gpio_reg_offs
*
regs
;
/* Return context loss count due to PM states changing */
int
(
*
get_context_loss_count
)(
struct
device
*
dev
);
};
#if IS_BUILTIN(CONFIG_GPIO_OMAP)
extern
void
omap2_gpio_prepare_for_idle
(
int
off_mode
);
extern
void
omap2_gpio_resume_after_idle
(
void
);
#else
static
inline
void
omap2_gpio_prepare_for_idle
(
int
off_mode
)
{
}
static
inline
void
omap2_gpio_resume_after_idle
(
void
)
{
}
#endif
#endif
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