Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
Commits
ebd7768d
Commit
ebd7768d
authored
Jul 22, 2009
by
Dmitry Torokhov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Input: i8042 - switch to using dev_pm_ops
Signed-off-by:
Dmitry Torokhov
<
dtor@mail.ru
>
parent
ae78e0e0
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
18 additions
and
26 deletions
+18
-26
drivers/input/serio/i8042.c
drivers/input/serio/i8042.c
+18
-26
No files found.
drivers/input/serio/i8042.c
View file @
ebd7768d
...
@@ -923,41 +923,27 @@ static void i8042_dritek_enable(void)
...
@@ -923,41 +923,27 @@ static void i8042_dritek_enable(void)
#ifdef CONFIG_PM
#ifdef CONFIG_PM
static
bool
i8042_suspended
;
/*
/*
* Here we try to restore the original BIOS settings. We only want to
* Here we try to restore the original BIOS settings to avoid
* do that once, when we really suspend, not when we taking memory
* upsetting it.
* snapshot for swsusp (in this case we'll perform required cleanup
* as part of shutdown process).
*/
*/
static
int
i8042_
suspend
(
struct
platform_device
*
dev
,
pm_message_t
state
)
static
int
i8042_
pm_reset
(
struct
device
*
dev
)
{
{
if
(
!
i8042_suspended
&&
state
.
event
==
PM_EVENT_SUSPEND
)
i8042_controller_reset
();
i8042_controller_reset
();
i8042_suspended
=
state
.
event
==
PM_EVENT_SUSPEND
||
state
.
event
==
PM_EVENT_FREEZE
;
return
0
;
return
0
;
}
}
/*
/*
* Here we try to reset everything back to a state in which suspended
* Here we try to reset everything back to a state we had
* before suspending.
*/
*/
static
int
i8042_
resume
(
struct
platform_
device
*
dev
)
static
int
i8042_
pm_restore
(
struct
device
*
dev
)
{
{
int
error
;
int
error
;
/*
* Do not bother with restoring state if we haven't suspened yet
*/
if
(
!
i8042_suspended
)
return
0
;
error
=
i8042_controller_check
();
error
=
i8042_controller_check
();
if
(
error
)
if
(
error
)
return
error
;
return
error
;
...
@@ -1001,11 +987,18 @@ static int i8042_resume(struct platform_device *dev)
...
@@ -1001,11 +987,18 @@ static int i8042_resume(struct platform_device *dev)
if
(
i8042_ports
[
I8042_KBD_PORT_NO
].
serio
)
if
(
i8042_ports
[
I8042_KBD_PORT_NO
].
serio
)
i8042_enable_kbd_port
();
i8042_enable_kbd_port
();
i8042_suspended
=
false
;
i8042_interrupt
(
0
,
NULL
);
i8042_interrupt
(
0
,
NULL
);
return
0
;
return
0
;
}
}
static
const
struct
dev_pm_ops
i8042_pm_ops
=
{
.
suspend
=
i8042_pm_reset
,
.
resume
=
i8042_pm_restore
,
.
poweroff
=
i8042_pm_reset
,
.
restore
=
i8042_pm_restore
,
};
#endif
/* CONFIG_PM */
#endif
/* CONFIG_PM */
/*
/*
...
@@ -1251,14 +1244,13 @@ static struct platform_driver i8042_driver = {
...
@@ -1251,14 +1244,13 @@ static struct platform_driver i8042_driver = {
.
driver
=
{
.
driver
=
{
.
name
=
"i8042"
,
.
name
=
"i8042"
,
.
owner
=
THIS_MODULE
,
.
owner
=
THIS_MODULE
,
#ifdef CONFIG_PM
.
pm
=
&
i8042_pm_ops
,
#endif
},
},
.
probe
=
i8042_probe
,
.
probe
=
i8042_probe
,
.
remove
=
__devexit_p
(
i8042_remove
),
.
remove
=
__devexit_p
(
i8042_remove
),
.
shutdown
=
i8042_shutdown
,
.
shutdown
=
i8042_shutdown
,
#ifdef CONFIG_PM
.
suspend
=
i8042_suspend
,
.
resume
=
i8042_resume
,
#endif
};
};
static
int
__init
i8042_init
(
void
)
static
int
__init
i8042_init
(
void
)
...
...
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