public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] asus-laptop new write_acpi_int
@ 2008-01-16 15:56 Corentin CHARY
       [not found] ` <200801161656.42640.corentincj-EjuBZuxMvz2sTnJN9+BGXg@public.gmane.org>
  0 siblings, 1 reply; 2+ messages in thread
From: Corentin CHARY @ 2008-01-16 15:56 UTC (permalink / raw)
  To: Len Brown, linux-acpi-u79uwXL29TY76Z2rM5mHXA,
	acpi4asus-user-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

From: Corentin CHARY <corentincj-EjuBZuxMvz2sTnJN9+BGXg@public.gmane.org>

Just a little modification of write_acpi_int

Signed-off-by: Corentin Chary <corentincj-EjuBZuxMvz2sTnJN9+BGXg@public.gmane.org>
---
 asus-laptop.c |   24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

--- a/drivers/misc/asus-laptop.c	2008-01-15 23:08:01.000000000 +0100
+++ b/drivers/misc/asus-laptop.c	2008-01-15 23:04:56.000000000 +0100
@@ -255,7 +255,7 @@
  * method is searched within the scope of the handle, can be NULL. The output
  * of the method is written is output, which can also be NULL
  *
- * returns 1 if write is successful, 0 else.
+ * returns 0 if write is successful, -1 else.
  */
 static int write_acpi_int(acpi_handle handle, const char *method, int val,
 			  struct acpi_buffer *output)
@@ -264,13 +264,19 @@
 	union acpi_object in_obj;	//the only param we use
 	acpi_status status;
 
+	if (!handle)
+		return 0;
+
 	params.count = 1;
 	params.pointer = &in_obj;
 	in_obj.type = ACPI_TYPE_INTEGER;
 	in_obj.integer.value = val;
 
 	status = acpi_evaluate_object(handle, (char *)method, &params, output);
-	return (status == AE_OK);
+	if (status == AE_OK)
+		return 0;
+	else
+		return -1;
 }
 
 static int read_wireless_status(int mask)
@@ -336,7 +342,7 @@
 		break;
 	}
 
-	if (handle && !write_acpi_int(handle, NULL, out, NULL))
+	if (write_acpi_int(handle, NULL, out, NULL))
 		printk(ASUS_WARNING " write failed %x\n", mask);
 }
 
@@ -416,7 +422,7 @@
 	value = (0 < value) ? ((15 < value) ? 15 : value) : 0;
 	/* 0 <= value <= 15 */
 
-	if (!write_acpi_int(brightness_set_handle, NULL, value, NULL)) {
+	if (write_acpi_int(brightness_set_handle, NULL, value, NULL)) {
 		printk(ASUS_WARNING "Error changing brightness\n");
 		ret = -EIO;
 	}
@@ -546,7 +552,7 @@
 
 	rv = parse_arg(buf, count, &value);
 	if (rv > 0) {
-		if (!write_acpi_int(ledd_set_handle, NULL, value, NULL))
+		if (write_acpi_int(ledd_set_handle, NULL, value, NULL))
 			printk(ASUS_WARNING "LED display write failed\n");
 		else
 			hotk->ledd_status = (u32) value;
@@ -591,7 +597,7 @@
 static void set_display(int value)
 {
 	/* no sanity check needed for now */
-	if (!write_acpi_int(display_set_handle, NULL, value, NULL))
+	if (write_acpi_int(display_set_handle, NULL, value, NULL))
 		printk(ASUS_WARNING "Error setting display\n");
 	return;
 }
@@ -648,7 +654,7 @@
  */
 static void set_light_sens_switch(int value)
 {
-	if (!write_acpi_int(ls_switch_handle, NULL, value, NULL))
+	if (write_acpi_int(ls_switch_handle, NULL, value, NULL))
 		printk(ASUS_WARNING "Error setting light sensor switch\n");
 	hotk->light_switch = value;
 }
@@ -673,7 +679,7 @@
 
 static void set_light_sens_level(int value)
 {
-	if (!write_acpi_int(ls_level_handle, NULL, value, NULL))
+	if (write_acpi_int(ls_level_handle, NULL, value, NULL))
 		printk(ASUS_WARNING "Error setting light sensor level\n");
 	hotk->light_level = value;
 }
@@ -861,7 +867,7 @@
 		printk(ASUS_WARNING "Couldn't get the DSDT table header\n");
 
 	/* We have to write 0 on init this far for all ASUS models */
-	if (!write_acpi_int(hotk->handle, "INIT", 0, &buffer)) {
+	if (write_acpi_int(hotk->handle, "INIT", 0, &buffer)) {
 		printk(ASUS_ERR "Hotkey initialization failed\n");
 		return -ENODEV;
 	}

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH 1/2] asus-laptop new write_acpi_int
       [not found] ` <200801161656.42640.corentincj-EjuBZuxMvz2sTnJN9+BGXg@public.gmane.org>
@ 2008-02-07  5:43   ` Len Brown
  0 siblings, 0 replies; 2+ messages in thread
From: Len Brown @ 2008-02-07  5:43 UTC (permalink / raw)
  To: corentincj-EjuBZuxMvz2sTnJN9+BGXg
  Cc: linux-acpi-u79uwXL29TY76Z2rM5mHXA,
	acpi4asus-user-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

applied.

thanks,
-len

On Wednesday 16 January 2008 10:56, Corentin CHARY wrote:
> From: Corentin CHARY <corentincj-EjuBZuxMvz2sTnJN9+BGXg@public.gmane.org>
> 
> Just a little modification of write_acpi_int
> 
> Signed-off-by: Corentin Chary <corentincj-EjuBZuxMvz2sTnJN9+BGXg@public.gmane.org>
> ---
>  asus-laptop.c |   24 +++++++++++++++---------
>  1 file changed, 15 insertions(+), 9 deletions(-)
> 
> --- a/drivers/misc/asus-laptop.c	2008-01-15 23:08:01.000000000 +0100
> +++ b/drivers/misc/asus-laptop.c	2008-01-15 23:04:56.000000000 +0100
> @@ -255,7 +255,7 @@
>   * method is searched within the scope of the handle, can be NULL. The output
>   * of the method is written is output, which can also be NULL
>   *
> - * returns 1 if write is successful, 0 else.
> + * returns 0 if write is successful, -1 else.
>   */
>  static int write_acpi_int(acpi_handle handle, const char *method, int val,
>  			  struct acpi_buffer *output)
> @@ -264,13 +264,19 @@
>  	union acpi_object in_obj;	//the only param we use
>  	acpi_status status;
>  
> +	if (!handle)
> +		return 0;
> +
>  	params.count = 1;
>  	params.pointer = &in_obj;
>  	in_obj.type = ACPI_TYPE_INTEGER;
>  	in_obj.integer.value = val;
>  
>  	status = acpi_evaluate_object(handle, (char *)method, &params, output);
> -	return (status == AE_OK);
> +	if (status == AE_OK)
> +		return 0;
> +	else
> +		return -1;
>  }
>  
>  static int read_wireless_status(int mask)
> @@ -336,7 +342,7 @@
>  		break;
>  	}
>  
> -	if (handle && !write_acpi_int(handle, NULL, out, NULL))
> +	if (write_acpi_int(handle, NULL, out, NULL))
>  		printk(ASUS_WARNING " write failed %x\n", mask);
>  }
>  
> @@ -416,7 +422,7 @@
>  	value = (0 < value) ? ((15 < value) ? 15 : value) : 0;
>  	/* 0 <= value <= 15 */
>  
> -	if (!write_acpi_int(brightness_set_handle, NULL, value, NULL)) {
> +	if (write_acpi_int(brightness_set_handle, NULL, value, NULL)) {
>  		printk(ASUS_WARNING "Error changing brightness\n");
>  		ret = -EIO;
>  	}
> @@ -546,7 +552,7 @@
>  
>  	rv = parse_arg(buf, count, &value);
>  	if (rv > 0) {
> -		if (!write_acpi_int(ledd_set_handle, NULL, value, NULL))
> +		if (write_acpi_int(ledd_set_handle, NULL, value, NULL))
>  			printk(ASUS_WARNING "LED display write failed\n");
>  		else
>  			hotk->ledd_status = (u32) value;
> @@ -591,7 +597,7 @@
>  static void set_display(int value)
>  {
>  	/* no sanity check needed for now */
> -	if (!write_acpi_int(display_set_handle, NULL, value, NULL))
> +	if (write_acpi_int(display_set_handle, NULL, value, NULL))
>  		printk(ASUS_WARNING "Error setting display\n");
>  	return;
>  }
> @@ -648,7 +654,7 @@
>   */
>  static void set_light_sens_switch(int value)
>  {
> -	if (!write_acpi_int(ls_switch_handle, NULL, value, NULL))
> +	if (write_acpi_int(ls_switch_handle, NULL, value, NULL))
>  		printk(ASUS_WARNING "Error setting light sensor switch\n");
>  	hotk->light_switch = value;
>  }
> @@ -673,7 +679,7 @@
>  
>  static void set_light_sens_level(int value)
>  {
> -	if (!write_acpi_int(ls_level_handle, NULL, value, NULL))
> +	if (write_acpi_int(ls_level_handle, NULL, value, NULL))
>  		printk(ASUS_WARNING "Error setting light sensor level\n");
>  	hotk->light_level = value;
>  }
> @@ -861,7 +867,7 @@
>  		printk(ASUS_WARNING "Couldn't get the DSDT table header\n");
>  
>  	/* We have to write 0 on init this far for all ASUS models */
> -	if (!write_acpi_int(hotk->handle, "INIT", 0, &buffer)) {
> +	if (write_acpi_int(hotk->handle, "INIT", 0, &buffer)) {
>  		printk(ASUS_ERR "Hotkey initialization failed\n");
>  		return -ENODEV;
>  	}
> -
> To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-02-07  5:43 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-01-16 15:56 [PATCH 1/2] asus-laptop new write_acpi_int Corentin CHARY
     [not found] ` <200801161656.42640.corentincj-EjuBZuxMvz2sTnJN9+BGXg@public.gmane.org>
2008-02-07  5:43   ` Len Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox