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
9443d7c9
Commit
9443d7c9
authored
Oct 14, 2006
by
Len Brown
Browse files
Options
Browse Files
Download
Plain Diff
Pull asus into test branch
parents
aeb11048
6df05702
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
37 additions
and
30 deletions
+37
-30
drivers/acpi/asus_acpi.c
drivers/acpi/asus_acpi.c
+37
-30
No files found.
drivers/acpi/asus_acpi.c
View file @
9443d7c9
...
...
@@ -138,6 +138,7 @@ struct asus_hotk {
S2x
,
//S200 (J1 reported), Victor MP-XP7210
W1N
,
//W1000N
W5A
,
//W5A
W3V
,
//W3030V
xxN
,
//M2400N, M3700N, M5200N, M6800N, S1300N, S5200N
//(Centrino)
END_MODEL
...
...
@@ -376,6 +377,17 @@ static struct model_data model_conf[END_MODEL] = {
.
display_get
=
"
\\
ADVG"
},
{
.
name
=
"W3V"
,
.
mt_mled
=
"MLED"
,
.
mt_wled
=
"WLED"
,
.
mt_lcd_switch
=
xxN_PREFIX
"_Q10"
,
.
lcd_status
=
"
\\
BKLT"
,
.
brightness_set
=
"SPLV"
,
.
brightness_get
=
"GPLV"
,
.
display_set
=
"SDSP"
,
.
display_get
=
"
\\
INFB"
},
{
.
name
=
"xxN"
,
.
mt_mled
=
"MLED"
,
/* WLED present, but not controlled by ACPI */
...
...
@@ -555,11 +567,11 @@ static int
write_led
(
const
char
__user
*
buffer
,
unsigned
long
count
,
char
*
ledname
,
int
ledmask
,
int
invert
)
{
int
value
;
int
rv
,
value
;
int
led_out
=
0
;
count
=
parse_arg
(
buffer
,
count
,
&
value
);
if
(
count
>
0
)
rv
=
parse_arg
(
buffer
,
count
,
&
value
);
if
(
rv
>
0
)
led_out
=
value
?
1
:
0
;
hotk
->
status
=
...
...
@@ -572,7 +584,7 @@ write_led(const char __user * buffer, unsigned long count,
printk
(
KERN_WARNING
"Asus ACPI: LED (%s) write failed
\n
"
,
ledname
);
return
count
;
return
rv
;
}
/*
...
...
@@ -607,20 +619,18 @@ static int
proc_write_ledd
(
struct
file
*
file
,
const
char
__user
*
buffer
,
unsigned
long
count
,
void
*
data
)
{
int
value
;
int
rv
,
value
;
count
=
parse_arg
(
buffer
,
count
,
&
value
);
if
(
count
>
0
)
{
rv
=
parse_arg
(
buffer
,
count
,
&
value
);
if
(
rv
>
0
)
{
if
(
!
write_acpi_int
(
hotk
->
handle
,
hotk
->
methods
->
mt_ledd
,
value
,
NULL
))
printk
(
KERN_WARNING
"Asus ACPI: LED display write failed
\n
"
);
else
hotk
->
ledd_status
=
(
u32
)
value
;
}
else
if
(
count
<
0
)
printk
(
KERN_WARNING
"Asus ACPI: Error reading user input
\n
"
);
return
count
;
}
return
rv
;
}
/*
...
...
@@ -761,12 +771,12 @@ static int
proc_write_lcd
(
struct
file
*
file
,
const
char
__user
*
buffer
,
unsigned
long
count
,
void
*
data
)
{
int
value
;
int
rv
,
value
;
count
=
parse_arg
(
buffer
,
count
,
&
value
);
if
(
count
>
0
)
rv
=
parse_arg
(
buffer
,
count
,
&
value
);
if
(
rv
>
0
)
set_lcd_state
(
value
);
return
count
;
return
rv
;
}
static
int
read_brightness
(
void
)
...
...
@@ -830,18 +840,15 @@ static int
proc_write_brn
(
struct
file
*
file
,
const
char
__user
*
buffer
,
unsigned
long
count
,
void
*
data
)
{
int
value
;
int
rv
,
value
;
count
=
parse_arg
(
buffer
,
count
,
&
value
);
if
(
count
>
0
)
{
rv
=
parse_arg
(
buffer
,
count
,
&
value
);
if
(
rv
>
0
)
{
value
=
(
0
<
value
)
?
((
15
<
value
)
?
15
:
value
)
:
0
;
/* 0 <= value <= 15 */
set_brightness
(
value
);
}
else
if
(
count
<
0
)
{
printk
(
KERN_WARNING
"Asus ACPI: Error reading user input
\n
"
);
}
return
count
;
return
rv
;
}
static
void
set_display
(
int
value
)
...
...
@@ -880,15 +887,12 @@ static int
proc_write_disp
(
struct
file
*
file
,
const
char
__user
*
buffer
,
unsigned
long
count
,
void
*
data
)
{
int
value
;
int
rv
,
value
;
count
=
parse_arg
(
buffer
,
count
,
&
value
);
if
(
count
>
0
)
rv
=
parse_arg
(
buffer
,
count
,
&
value
);
if
(
rv
>
0
)
set_display
(
value
);
else
if
(
count
<
0
)
printk
(
KERN_WARNING
"Asus ACPI: Error reading user input
\n
"
);
return
count
;
return
rv
;
}
typedef
int
(
proc_readfunc
)
(
char
*
page
,
char
**
start
,
off_t
off
,
int
count
,
...
...
@@ -1097,6 +1101,8 @@ static int asus_model_match(char *model)
return
A4G
;
else
if
(
strncmp
(
model
,
"W1N"
,
3
)
==
0
)
return
W1N
;
else
if
(
strncmp
(
model
,
"W3V"
,
3
)
==
0
)
return
W3V
;
else
if
(
strncmp
(
model
,
"W5A"
,
3
)
==
0
)
return
W5A
;
else
...
...
@@ -1200,9 +1206,10 @@ static int asus_hotk_get_info(void)
hotk
->
methods
->
mt_wled
=
NULL
;
/* L5D's WLED is not controlled by ACPI */
else
if
(
strncmp
(
string
,
"M2N"
,
3
)
==
0
||
strncmp
(
string
,
"W3V"
,
3
)
==
0
||
strncmp
(
string
,
"S1N"
,
3
)
==
0
)
hotk
->
methods
->
mt_wled
=
"WLED"
;
/* M2N
and S1N
have a usable WLED */
/* M2N
, S1N and W3V
have a usable WLED */
else
if
(
asus_info
)
{
if
(
strncmp
(
asus_info
->
oem_table_id
,
"L1"
,
2
)
==
0
)
hotk
->
methods
->
mled_status
=
NULL
;
...
...
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