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
f697b677
Commit
f697b677
authored
May 10, 2007
by
Len Brown
Browse files
Options
Browse Files
Download
Plain Diff
Pull thermal into release branch
parents
de560374
eaca2d3f
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
2 additions
and
102 deletions
+2
-102
drivers/acpi/thermal.c
drivers/acpi/thermal.c
+2
-102
No files found.
drivers/acpi/thermal.c
View file @
f697b677
...
...
@@ -59,8 +59,6 @@
#define ACPI_THERMAL_NOTIFY_CRITICAL 0xF0
#define ACPI_THERMAL_NOTIFY_HOT 0xF1
#define ACPI_THERMAL_MODE_ACTIVE 0x00
#define ACPI_THERMAL_MODE_PASSIVE 0x01
#define ACPI_THERMAL_MODE_CRITICAL 0xff
#define ACPI_THERMAL_PATH_POWEROFF "/sbin/poweroff"
#define ACPI_THERMAL_MAX_ACTIVE 10
...
...
@@ -86,9 +84,6 @@ static int acpi_thermal_resume(struct acpi_device *device);
static
int
acpi_thermal_state_open_fs
(
struct
inode
*
inode
,
struct
file
*
file
);
static
int
acpi_thermal_temp_open_fs
(
struct
inode
*
inode
,
struct
file
*
file
);
static
int
acpi_thermal_trip_open_fs
(
struct
inode
*
inode
,
struct
file
*
file
);
static
ssize_t
acpi_thermal_write_trip_points
(
struct
file
*
,
const
char
__user
*
,
size_t
,
loff_t
*
);
static
int
acpi_thermal_cooling_open_fs
(
struct
inode
*
inode
,
struct
file
*
file
);
static
ssize_t
acpi_thermal_write_cooling_mode
(
struct
file
*
,
const
char
__user
*
,
size_t
,
...
...
@@ -167,7 +162,6 @@ struct acpi_thermal {
unsigned
long
temperature
;
unsigned
long
last_temperature
;
unsigned
long
polling_frequency
;
u8
cooling_mode
;
volatile
u8
zombie
;
struct
acpi_thermal_flags
flags
;
struct
acpi_thermal_state
state
;
...
...
@@ -193,7 +187,6 @@ static const struct file_operations acpi_thermal_temp_fops = {
static
const
struct
file_operations
acpi_thermal_trip_fops
=
{
.
open
=
acpi_thermal_trip_open_fs
,
.
read
=
seq_read
,
.
write
=
acpi_thermal_write_trip_points
,
.
llseek
=
seq_lseek
,
.
release
=
single_release
,
};
...
...
@@ -297,11 +290,6 @@ static int acpi_thermal_set_cooling_mode(struct acpi_thermal *tz, int mode)
if
(
ACPI_FAILURE
(
status
))
return
-
ENODEV
;
tz
->
cooling_mode
=
mode
;
ACPI_DEBUG_PRINT
((
ACPI_DB_INFO
,
"Cooling mode [%s]
\n
"
,
mode
?
"passive"
:
"active"
));
return
0
;
}
...
...
@@ -889,67 +877,6 @@ static int acpi_thermal_trip_open_fs(struct inode *inode, struct file *file)
return
single_open
(
file
,
acpi_thermal_trip_seq_show
,
PDE
(
inode
)
->
data
);
}
static
ssize_t
acpi_thermal_write_trip_points
(
struct
file
*
file
,
const
char
__user
*
buffer
,
size_t
count
,
loff_t
*
ppos
)
{
struct
seq_file
*
m
=
file
->
private_data
;
struct
acpi_thermal
*
tz
=
m
->
private
;
char
*
limit_string
;
int
num
,
critical
,
hot
,
passive
;
int
*
active
;
int
i
=
0
;
limit_string
=
kzalloc
(
ACPI_THERMAL_MAX_LIMIT_STR_LEN
,
GFP_KERNEL
);
if
(
!
limit_string
)
return
-
ENOMEM
;
active
=
kmalloc
(
ACPI_THERMAL_MAX_ACTIVE
*
sizeof
(
int
),
GFP_KERNEL
);
if
(
!
active
)
{
kfree
(
limit_string
);
return
-
ENOMEM
;
}
if
(
!
tz
||
(
count
>
ACPI_THERMAL_MAX_LIMIT_STR_LEN
-
1
))
{
count
=
-
EINVAL
;
goto
end
;
}
if
(
copy_from_user
(
limit_string
,
buffer
,
count
))
{
count
=
-
EFAULT
;
goto
end
;
}
limit_string
[
count
]
=
'\0'
;
num
=
sscanf
(
limit_string
,
"%d:%d:%d:%d:%d:%d:%d:%d:%d:%d:%d:%d:%d"
,
&
critical
,
&
hot
,
&
passive
,
&
active
[
0
],
&
active
[
1
],
&
active
[
2
],
&
active
[
3
],
&
active
[
4
],
&
active
[
5
],
&
active
[
6
],
&
active
[
7
],
&
active
[
8
],
&
active
[
9
]);
if
(
!
(
num
>=
5
&&
num
<
(
ACPI_THERMAL_MAX_ACTIVE
+
3
)))
{
count
=
-
EINVAL
;
goto
end
;
}
tz
->
trips
.
critical
.
temperature
=
CELSIUS_TO_KELVIN
(
critical
);
tz
->
trips
.
hot
.
temperature
=
CELSIUS_TO_KELVIN
(
hot
);
tz
->
trips
.
passive
.
temperature
=
CELSIUS_TO_KELVIN
(
passive
);
for
(
i
=
0
;
i
<
num
-
3
;
i
++
)
{
if
(
!
(
tz
->
trips
.
active
[
i
].
flags
.
valid
))
break
;
tz
->
trips
.
active
[
i
].
temperature
=
CELSIUS_TO_KELVIN
(
active
[
i
]);
}
end:
kfree
(
active
);
kfree
(
limit_string
);
return
count
;
}
static
int
acpi_thermal_cooling_seq_show
(
struct
seq_file
*
seq
,
void
*
offset
)
{
struct
acpi_thermal
*
tz
=
seq
->
private
;
...
...
@@ -958,15 +885,10 @@ static int acpi_thermal_cooling_seq_show(struct seq_file *seq, void *offset)
if
(
!
tz
)
goto
end
;
if
(
!
tz
->
flags
.
cooling_mode
)
{
if
(
!
tz
->
flags
.
cooling_mode
)
seq_puts
(
seq
,
"<setting not supported>
\n
"
);
}
if
(
tz
->
cooling_mode
==
ACPI_THERMAL_MODE_CRITICAL
)
seq_printf
(
seq
,
"cooling mode: critical
\n
"
);
else
seq_printf
(
seq
,
"cooling mode: %s
\n
"
,
tz
->
cooling_mode
?
"passive"
:
"active"
);
seq_puts
(
seq
,
"0 - Active; 1 - Passive
\n
"
);
end:
return
0
;
...
...
@@ -1223,28 +1145,6 @@ static int acpi_thermal_get_info(struct acpi_thermal *tz)
result
=
acpi_thermal_set_cooling_mode
(
tz
,
ACPI_THERMAL_MODE_ACTIVE
);
if
(
!
result
)
tz
->
flags
.
cooling_mode
=
1
;
else
{
/* Oh,we have not _SCP method.
Generally show cooling_mode by _ACx, _PSV,spec 12.2 */
tz
->
flags
.
cooling_mode
=
0
;
if
(
tz
->
trips
.
active
[
0
].
flags
.
valid
&&
tz
->
trips
.
passive
.
flags
.
valid
)
{
if
(
tz
->
trips
.
passive
.
temperature
>
tz
->
trips
.
active
[
0
].
temperature
)
tz
->
cooling_mode
=
ACPI_THERMAL_MODE_ACTIVE
;
else
tz
->
cooling_mode
=
ACPI_THERMAL_MODE_PASSIVE
;
}
else
if
(
!
tz
->
trips
.
active
[
0
].
flags
.
valid
&&
tz
->
trips
.
passive
.
flags
.
valid
)
{
tz
->
cooling_mode
=
ACPI_THERMAL_MODE_PASSIVE
;
}
else
if
(
tz
->
trips
.
active
[
0
].
flags
.
valid
&&
!
tz
->
trips
.
passive
.
flags
.
valid
)
{
tz
->
cooling_mode
=
ACPI_THERMAL_MODE_ACTIVE
;
}
else
{
/* _ACx and _PSV are optional, but _CRT is required */
tz
->
cooling_mode
=
ACPI_THERMAL_MODE_CRITICAL
;
}
}
/* Get default polling frequency [_TZP] (optional) */
if
(
tzp
)
...
...
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