ACPI: asus_acpi, support F2JE model
PATCH 1/1 ACPI: asus_acpi, support F2JE model
asus_acpi, support F2JE model
also augment the driver to support switching LCD status even if no function for getting lcd status doesn't exist in DSDT.
---
commit 4e55effd524fffae1113c301d63d4cd5280264ab
tree 96d1c15a7ee82558bcbf1bb4b6e66c435781758d
parent 0156510dee9d326af2ec52cf8b1a388ce9a839e9
author Jiri Slaby <[email protected]> Wed, 11 Apr 2007 11:28:34 +0200 committer Jiri Slaby <[email protected]> Wed, 11 Apr 2007 11:28:34 +0200
drivers/acpi/asus_acpi.c | 33 +++++++++++++++++++++++++++++---- 1 files changed, 29 insertions(+), 4 deletions(-)
drivers/acpi/asus_acpi.c +29 -4
@@ -123,6 +123,7 @@ struct asus_hotk { A2x,//A2500H A4G ,//A4700G D1x,//D1 + F2x,//F2JE L2D ,//L2000D L3C ,//L3800C L3D, //L3400D
@@ -150,6 +151,7 @@ struct asus_hotk {/* Here we go */ #define A1x_PREFIX "\\_SB.PCI0.ISA.EC0." +#define F2x_PREFIX "\\_SB.PCI0.SBRG.EC0."#define L3C_PREFIX "\\_SB.PCI0.PX40.ECD0."#define M1A_PREFIX "\\_SB.PCI0.PX40.EC0."#define P30_PREFIX "\\_SB.PCI0.LPCB.EC0."
@@ -206,6 +208,17 @@ static struct model_data model_conf[END_MODEL] = { .display_get = "\\INFB"}, { + .name = "F2x", + .mt_wled = "WLED", + .mt_bt_switch = "BLED", + .mt_lcd_switch = F2x_PREFIX "_Q10", + .lcd_status = "", + .brightness_set = "SPLV", + .brightness_get = "GPLV", + .display_set = "SDSP", + .display_get = "\\ADVG"}, + + { .name = "L2D", .mt_mled = "MLED", .mled_status = "\\SGP6",
@@ -706,6 +719,8 @@ static int get_lcd_state(void) {int lcd =0 ; +BUG_ON (!*hotk->methods->lcd_status); +if (hotk->model !=L3H ) {/* We don't have to check anything if we are here */ if (!read_acpi_int (NULL , hotk->methods->lcd_status, &lcd))
@@ -748,11 +763,17 @@ static int get_lcd_state(void)static int set_lcd_state (int value) { -int lcd =0 ;acpi_status status =0 ; - lcd = value ?1 :0 ; -if (lcd !=get_lcd_state ()) { +if (!value && !*hotk->methods->lcd_status) { +printk (KERN_ERR "You must pass nonzero value to switch LCD " +"status for this model\n" ); +return -EINVAL ; + } + +/* pay attention to lazy evaluation, we don't want to reach +get_lcd_state if lcd_status is empty string */ +if (!*hotk->methods->lcd_status || !!value !=get_lcd_state ()) {/* switch */ if (hotk->model !=L3H ) { status =
@@ -778,7 +799,9 @@ static int proc_read_lcd(char *page, char **start, off_t off, int count, int *eof, void *data) { -return sprintf (page,"%d\n" ,get_lcd_state ()); +return *hotk->methods->lcd_status ? +sprintf (page,"%d\n" ,get_lcd_state ()) : +sprintf (page,"n/a (but 1 may be written to switch LCD)\n" ); } static int
@@ -1091,6 +1114,8 @@ static int asus_model_match(char *model)return L8L ; else if (strncmp(model, "L4R", 3) == 0) return L4R; + else if (strncmp(model, "F2JE", 4) == 0) + return F2x; else if (strncmp(model, "M6N", 3) == 0 || strncmp(model, "W3N", 3) == 0) returnM6N ; else if (strncmp(model, "M6R", 3) == 0 || strncmp(model, "A3G", 3) == 0)
Le Wednesday 11 April 2007 11:33:48 Jiri Slaby, vous avez écrit :
Quoted 1 line
asus_acpi, support F2JE model
Just use the new asus-laptop driver =)
(see acpi4asus-0.40)
Signature · 6 lines
CHARY 'Iksaif' Corentin http://xf.iksaif.net - To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Corentin CHARY napsal(a):
Quoted 4 lines
Le Wednesday 11 April 2007 11:33:48 Jiri Slaby, vous avez écrit :
Quoted 1 line
asus_acpi, support F2JE modelJust use the new asus-laptop driver =)
(see acpi4asus-0.40)
code seems good, but this is not so good:
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20)
#warning "This module does not support 2.6.20 yet, wait for a new release =)" #endif
When do you plan to support latest kernels and merge it to mainline?
thanks,
Signature · 4 lines
http://www.fi.muni.cz/~xslaby/ Jiri Slaby faculty of informatics, masaryk university, brno, cz e-mail: jirislaby gmail com, gpg pubkey fingerprint: B674 9967 0407 CE62 ACC8 22A0 32CC 55C3 39D4 7A7E
Quoted 6 lines · Jiri Slaby
Corentin CHARY napsal(a):
Quoted 4 lines
Le Wednesday 11 April 2007 11:33:48 Jiri Slaby, vous avez écrit :
Quoted 1 line
asus_acpi, support F2JE modelJust use the new asus-laptop driver =)
(see acpi4asus-0.40)
Quoted 6 lines
code seems good, but this is not so good:
#ifLINUX_VERSION_CODE>=KERNEL_VERSION(2,6,20)
#warning "This module does not support 2.6.20 yet, wait for a new release #=)" endifWhen do you plan to support latest kernels and merge it to mainline?
This patch fixes acpi4asus-0.40 for me at least with 2.6.20 on a ASUS R1F.
Danny
--- asus-laptop.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-)
driver/asus-laptop.c +6 -7
@@ -41,8 +41,8 @@# include <linux/autoconf.h> #endif -#if LINUX_VERSION_CODE >=KERNEL_VERSION (2 ,6 ,20 ) -#warning "This module does not support 2.6.20 yet, wait for a new release =)" +#if LINUX_VERSION_CODE >=KERNEL_VERSION (2 ,6 ,21 ) +#warning "This module does not support 2.6.21 yet, wait for a new release =)"#endif #include <linux/kernel.h>
@@ -226,8 +226,8 @@ static void object##_led_set(struct led_classdev *led_cdev, \enum led_brightness value); \ static int object##_led_wk; \ - static void object##_led_update(void *data); \ - DECLARE_WORK(object##_led_work, object##_led_update, NULL); \ + static void object##_led_update(struct work_struct *dummy); \ + DECLARE_WORK(object##_led_work, object##_led_update); \ static struct led_classdev object##_led = { \ .name ="asus:" ledname, \ .brightness_set = object##_led_set, \
@@ -329,7 +329,7 @@ object##_led_wk = value; \ queue_work(led_workqueue, &object##_led_work); \ } \ - static void object##_led_update(void * data) \ + static void object##_led_update(struct work_struct *dummy) \ { \ int value = object##_led_wk; \ write_status(object##_set_handle, value, (mask)); \
@@ -1053,8 +1053,7 @@struct backlight_device *bd;if (brightness_set_handle && lcd_switch_handle) { - bd =backlight_device_register (ASUS_HOTK_FILE ,NULL , - &asusbl_data); + bd =backlight_device_register (ASUS_HOTK_FILE ,NULL ,NULL , &asusbl_data);if (IS_ERR (bd)) { printk(ASUS_ERR
-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 7 lines · Danny Kukawka
Quoted 6 lines · Jiri Slaby
Corentin CHARY napsal(a):
Quoted 4 lines
Le Wednesday 11 April 2007 11:33:48 Jiri Slaby, vous avez écrit :
Quoted 1 line
asus_acpi, support F2JE modelJust use the new asus-laptop driver =)
(see acpi4asus-0.40)
Quoted 8 lines
Quoted 6 lines
code seems good, but this is not so good:
#ifLINUX_VERSION_CODE>=KERNEL_VERSION(2,6,20)
#warning "This module does not support 2.6.20 yet, wait for a new release #=)" endifWhen do you plan to support latest kernels and merge it to mainline?
This patch fixes acpi4asus-0.40 for me at least with 2.6.20 on a ASUS R1F.
Btw. looks as if a new version of the driver (v0.41) is already in the mm-tree.
Danny
-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Danny Kukawka napsal(a):
Quoted 12 lines · Danny Kukawka
Quoted 11 lines
Quoted 10 lines · Jiri Slaby
Corentin CHARY napsal(a):
Quoted 4 lines
Le Wednesday 11 April 2007 11:33:48 Jiri Slaby, vous avez écrit :
Quoted 1 line
asus_acpi, support F2JE modelJust use the new asus-laptop driver =)
(see acpi4asus-0.40)code seems good, but this is not so good:
#ifLINUX_VERSION_CODE>=KERNEL_VERSION(2,6,20)
#warning "This module does not support 2.6.20 yet, wait for a new release #=)" endif
Quoted 4 lines
Quoted 2 lines
Quoted 1 line
When do you plan to support latest kernels and merge it to mainline?
This patch fixes acpi4asus-0.40 for me at least with 2.6.20 on a ASUS R1F.
Btw. looks as if a new version of the driver (v0.41) is already in the mm-tree.
Good to hear, I've got a look only to .21-rc6-mm1, where are no changes like this (there is 0.30).
I'm satisfied, thanks,
Signature · 8 lines
http://www.fi.muni.cz/~xslaby/ Jiri Slaby faculty of informatics, masaryk university, brno, cz e-mail: jirislaby gmail com, gpg pubkey fingerprint: B674 9967 0407 CE62 ACC8 22A0 32CC 55C3 39D4 7A7E - To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Quoted 5 lines · Jiri Slaby
Danny Kukawka napsal(a):
Quoted 1 line
Btw. looks as if a new version of the driver (v0.41) is already in the mm-tree.
Good to hear, I've got a look only to .21-rc6-mm1, where are no changes like this (there is 0.30).
found in the latest mm snapshot under drivers/misc/
Danny
Jiri Slaby napsal(a):
Quoted 1 line
asus_acpi, support F2JE model
Ignore this one, newer version has been sent.
regards,
Signature · 4 lines
http://www.fi.muni.cz/~xslaby/ Jiri Slaby faculty of informatics, masaryk university, brno, cz e-mail: jirislaby gmail com, gpg pubkey fingerprint: B674 9967 0407 CE62 ACC8 22A0 32CC 55C3 39D4 7A7E