diff mbox series

platform/x86: intel-vbtn: Use acpi_evaluate_integer()

Message ID 20200429104515.63570-1-hdegoede@redhat.com (mailing list archive)
State Not Applicable, archived
Headers show
Series platform/x86: intel-vbtn: Use acpi_evaluate_integer() | expand

Commit Message

Hans de Goede April 29, 2020, 10:45 a.m. UTC
Use acpi_evaluate_integer() instead of open-coding it.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 drivers/platform/x86/intel-vbtn.c | 19 ++++++-------------
 1 file changed, 6 insertions(+), 13 deletions(-)

Comments

Hans de Goede April 29, 2020, 10:46 a.m. UTC | #1
Hi,

On 4/29/20 12:45 PM, Hans de Goede wrote:
> Use acpi_evaluate_integer() instead of open-coding it.
> 
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>

Sorry I send out the wrong patch, this is the start of a series
I'm working on. So please ignore.

Regards,

Hans


> ---
>   drivers/platform/x86/intel-vbtn.c | 19 ++++++-------------
>   1 file changed, 6 insertions(+), 13 deletions(-)
> 
> diff --git a/drivers/platform/x86/intel-vbtn.c b/drivers/platform/x86/intel-vbtn.c
> index b5880936d785..191894d648bb 100644
> --- a/drivers/platform/x86/intel-vbtn.c
> +++ b/drivers/platform/x86/intel-vbtn.c
> @@ -119,28 +119,21 @@ static void detect_tablet_mode(struct platform_device *device)
>   	const char *chassis_type = dmi_get_system_info(DMI_CHASSIS_TYPE);
>   	struct intel_vbtn_priv *priv = dev_get_drvdata(&device->dev);
>   	acpi_handle handle = ACPI_HANDLE(&device->dev);
> -	struct acpi_buffer vgbs_output = { ACPI_ALLOCATE_BUFFER, NULL };
> -	union acpi_object *obj;
> +	unsigned long long vgbs;
>   	acpi_status status;
>   	int m;
>   
>   	if (!(chassis_type && strcmp(chassis_type, "31") == 0))
> -		goto out;
> +		return;
>   
> -	status = acpi_evaluate_object(handle, "VGBS", NULL, &vgbs_output);
> +	status = acpi_evaluate_integer(handle, "VGBS", NULL, &vgbs);
>   	if (ACPI_FAILURE(status))
> -		goto out;
> -
> -	obj = vgbs_output.pointer;
> -	if (!(obj && obj->type == ACPI_TYPE_INTEGER))
> -		goto out;
> +		return;
>   
> -	m = !(obj->integer.value & TABLET_MODE_FLAG);
> +	m = !(vgbs & TABLET_MODE_FLAG);
>   	input_report_switch(priv->input_dev, SW_TABLET_MODE, m);
> -	m = (obj->integer.value & DOCK_MODE_FLAG) ? 1 : 0;
> +	m = (vgbs & DOCK_MODE_FLAG) ? 1 : 0;
>   	input_report_switch(priv->input_dev, SW_DOCK, m);
> -out:
> -	kfree(vgbs_output.pointer);
>   }
>   
>   static int intel_vbtn_probe(struct platform_device *device)
>
diff mbox series

Patch

diff --git a/drivers/platform/x86/intel-vbtn.c b/drivers/platform/x86/intel-vbtn.c
index b5880936d785..191894d648bb 100644
--- a/drivers/platform/x86/intel-vbtn.c
+++ b/drivers/platform/x86/intel-vbtn.c
@@ -119,28 +119,21 @@  static void detect_tablet_mode(struct platform_device *device)
 	const char *chassis_type = dmi_get_system_info(DMI_CHASSIS_TYPE);
 	struct intel_vbtn_priv *priv = dev_get_drvdata(&device->dev);
 	acpi_handle handle = ACPI_HANDLE(&device->dev);
-	struct acpi_buffer vgbs_output = { ACPI_ALLOCATE_BUFFER, NULL };
-	union acpi_object *obj;
+	unsigned long long vgbs;
 	acpi_status status;
 	int m;
 
 	if (!(chassis_type && strcmp(chassis_type, "31") == 0))
-		goto out;
+		return;
 
-	status = acpi_evaluate_object(handle, "VGBS", NULL, &vgbs_output);
+	status = acpi_evaluate_integer(handle, "VGBS", NULL, &vgbs);
 	if (ACPI_FAILURE(status))
-		goto out;
-
-	obj = vgbs_output.pointer;
-	if (!(obj && obj->type == ACPI_TYPE_INTEGER))
-		goto out;
+		return;
 
-	m = !(obj->integer.value & TABLET_MODE_FLAG);
+	m = !(vgbs & TABLET_MODE_FLAG);
 	input_report_switch(priv->input_dev, SW_TABLET_MODE, m);
-	m = (obj->integer.value & DOCK_MODE_FLAG) ? 1 : 0;
+	m = (vgbs & DOCK_MODE_FLAG) ? 1 : 0;
 	input_report_switch(priv->input_dev, SW_DOCK, m);
-out:
-	kfree(vgbs_output.pointer);
 }
 
 static int intel_vbtn_probe(struct platform_device *device)