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 |
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 --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)
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(-)