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
597e4fab
Commit
597e4fab
authored
Nov 11, 2008
by
Len Brown
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'bugzilla-11312' into release
parents
3ad4f597
ed206fac
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
22 additions
and
20 deletions
+22
-20
Documentation/ABI/testing/sysfs-firmware-acpi
Documentation/ABI/testing/sysfs-firmware-acpi
+8
-8
drivers/acpi/events/evxfevnt.c
drivers/acpi/events/evxfevnt.c
+6
-0
drivers/acpi/system.c
drivers/acpi/system.c
+7
-12
include/acpi/actypes.h
include/acpi/actypes.h
+1
-0
No files found.
Documentation/ABI/testing/sysfs-firmware-acpi
View file @
597e4fab
...
...
@@ -89,7 +89,7 @@ Description:
error - an interrupt that can't be accounted for above.
invalid: it's either a
wakeup GPE or a GPE/
Fixed Event that
invalid: it's either a
GPE or a
Fixed Event that
doesn't have an event handler.
disable: the GPE/Fixed Event is valid but disabled.
...
...
@@ -117,30 +117,30 @@ Description:
and other user space applications so that the machine won't shutdown
when pressing the power button.
# cat ff_pwr_btn
0
0
enabled
# press the power button for 3 times;
# cat ff_pwr_btn
3
3
enabled
# echo disable > ff_pwr_btn
# cat ff_pwr_btn
disable
3 disabled
# press the power button for 3 times;
# cat ff_pwr_btn
disable
3 disabled
# echo enable > ff_pwr_btn
# cat ff_pwr_btn
4
4
enabled
/*
* this is because the status bit is set even if the enable bit is cleared,
* and it triggers an ACPI fixed event when the enable bit is set again
*/
# press the power button for 3 times;
# cat ff_pwr_btn
7
7
enabled
# echo disable > ff_pwr_btn
# press the power button for 3 times;
# echo clear > ff_pwr_btn /* clear the status bit */
# echo disable > ff_pwr_btn
# cat ff_pwr_btn
7
7
enabled
drivers/acpi/events/evxfevnt.c
View file @
597e4fab
...
...
@@ -521,6 +521,9 @@ acpi_status acpi_get_event_status(u32 event, acpi_event_status * event_status)
if
(
value
)
*
event_status
|=
ACPI_EVENT_FLAG_SET
;
if
(
acpi_gbl_fixed_event_handlers
[
event
].
handler
)
*
event_status
|=
ACPI_EVENT_FLAG_HANDLE
;
return_ACPI_STATUS
(
status
);
}
...
...
@@ -571,6 +574,9 @@ acpi_get_gpe_status(acpi_handle gpe_device,
status
=
acpi_hw_get_gpe_status
(
gpe_event_info
,
event_status
);
if
(
gpe_event_info
->
flags
&
ACPI_GPE_DISPATCH_MASK
)
*
event_status
|=
ACPI_EVENT_FLAG_HANDLE
;
unlock_and_exit:
if
(
flags
&
ACPI_NOT_ISR
)
{
(
void
)
acpi_ut_release_mutex
(
ACPI_MTX_EVENTS
);
...
...
drivers/acpi/system.c
View file @
597e4fab
...
...
@@ -167,7 +167,6 @@ static int acpi_system_sysfs_init(void)
#define COUNT_ERROR 2
/* other */
#define NUM_COUNTERS_EXTRA 3
#define ACPI_EVENT_VALID 0x01
struct
event_counter
{
u32
count
;
u32
flags
;
...
...
@@ -312,12 +311,6 @@ static int get_status(u32 index, acpi_event_status *status, acpi_handle *handle)
}
else
if
(
index
<
(
num_gpes
+
ACPI_NUM_FIXED_EVENTS
))
result
=
acpi_get_event_status
(
index
-
num_gpes
,
status
);
/*
* sleep/power button GPE/Fixed Event is enabled after acpi_system_init,
* check the status at runtime and mark it as valid once it's enabled
*/
if
(
!
result
&&
(
*
status
&
ACPI_EVENT_FLAG_ENABLED
))
all_counters
[
index
].
flags
|=
ACPI_EVENT_VALID
;
end:
return
result
;
}
...
...
@@ -346,12 +339,14 @@ static ssize_t counter_show(struct kobject *kobj,
if
(
result
)
goto
end
;
if
(
!
(
all_counters
[
index
].
flags
&
ACPI_EVENT_VALID
))
if
(
!
(
status
&
ACPI_EVENT_FLAG_HANDLE
))
size
+=
sprintf
(
buf
+
size
,
" invalid"
);
else
if
(
status
&
ACPI_EVENT_FLAG_ENABLED
)
size
+=
sprintf
(
buf
+
size
,
" enable"
);
size
+=
sprintf
(
buf
+
size
,
" enabled"
);
else
if
(
status
&
ACPI_EVENT_FLAG_WAKE_ENABLED
)
size
+=
sprintf
(
buf
+
size
,
" wake_enabled"
);
else
size
+=
sprintf
(
buf
+
size
,
"
disable
"
);
size
+=
sprintf
(
buf
+
size
,
"
disabled
"
);
end:
size
+=
sprintf
(
buf
+
size
,
"
\n
"
);
...
...
@@ -385,7 +380,7 @@ static ssize_t counter_set(struct kobject *kobj,
if
(
result
)
goto
end
;
if
(
!
(
all_counters
[
index
].
flags
&
ACPI_EVENT_VALID
))
{
if
(
!
(
status
&
ACPI_EVENT_FLAG_HANDLE
))
{
printk
(
KERN_WARNING
PREFIX
"Can not change Invalid GPE/Fixed Event status
\n
"
);
return
-
EINVAL
;
...
...
include/acpi/actypes.h
View file @
597e4fab
...
...
@@ -525,6 +525,7 @@ typedef u32 acpi_event_status;
#define ACPI_EVENT_FLAG_ENABLED (acpi_event_status) 0x01
#define ACPI_EVENT_FLAG_WAKE_ENABLED (acpi_event_status) 0x02
#define ACPI_EVENT_FLAG_SET (acpi_event_status) 0x04
#define ACPI_EVENT_FLAG_HANDLE (acpi_event_status) 0x08
/*
* General Purpose Events (GPE)
...
...
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