Skip to content

Commit

Permalink
Merge tag 'platform-drivers-x86-v4.13-3' of git://git.infradead.org/l…
Browse files Browse the repository at this point in the history
…inux-platform-drivers-x86

Pull x86 platform driver fixes from Darren Hart:
 "Fix two bugs under error or abnormal usage conditions. Correct a
  config dependency:

  dell-wmi:
   - Fix driver interface version query

  wmi:
   - Fix error handling in acpi_wmi_init()

  peaq-wmi:
   - select INPUT_POLLDEV"

* tag 'platform-drivers-x86-v4.13-3' of git://git.infradead.org/linux-platform-drivers-x86:
  platform/x86: dell-wmi: Fix driver interface version query
  platform/x86: wmi: Fix error handling in acpi_wmi_init()
  platform/x86: peaq-wmi: select INPUT_POLLDEV
  • Loading branch information
torvalds committed Aug 2, 2017
2 parents 33611ba + 51391ca commit 4d3f5d0
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 8 deletions.
1 change: 1 addition & 0 deletions drivers/platform/x86/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -675,6 +675,7 @@ config PEAQ_WMI
tristate "PEAQ 2-in-1 WMI hotkey driver"
depends on ACPI_WMI
depends on INPUT
select INPUT_POLLDEV
help
Say Y here if you want to support WMI-based hotkeys on PEAQ 2-in-1s.

Expand Down
12 changes: 7 additions & 5 deletions drivers/platform/x86/dell-wmi.c
Original file line number Diff line number Diff line change
Expand Up @@ -626,7 +626,7 @@ static void dell_wmi_input_destroy(struct wmi_device *wdev)
* WMI Interface Version 8 4 <version>
* WMI buffer length 12 4 4096
*/
static int __init dell_wmi_check_descriptor_buffer(void)
static int dell_wmi_check_descriptor_buffer(void)
{
struct acpi_buffer out = { ACPI_ALLOCATE_BUFFER, NULL };
union acpi_object *obj;
Expand Down Expand Up @@ -717,9 +717,15 @@ static int dell_wmi_events_set_enabled(bool enable)

static int dell_wmi_probe(struct wmi_device *wdev)
{
int err;

struct dell_wmi_priv *priv = devm_kzalloc(
&wdev->dev, sizeof(struct dell_wmi_priv), GFP_KERNEL);

err = dell_wmi_check_descriptor_buffer();
if (err)
return err;

dev_set_drvdata(&wdev->dev, priv);

return dell_wmi_input_setup(wdev);
Expand Down Expand Up @@ -749,10 +755,6 @@ static int __init dell_wmi_init(void)
{
int err;

err = dell_wmi_check_descriptor_buffer();
if (err)
return err;

dmi_check_system(dell_wmi_smbios_list);

if (wmi_requires_smbios_request) {
Expand Down
6 changes: 3 additions & 3 deletions drivers/platform/x86/wmi.c
Original file line number Diff line number Diff line change
Expand Up @@ -1252,12 +1252,12 @@ static int __init acpi_wmi_init(void)

return 0;

err_unreg_class:
class_unregister(&wmi_bus_class);

err_unreg_bus:
bus_unregister(&wmi_bus_type);

err_unreg_class:
class_unregister(&wmi_bus_class);

return error;
}

Expand Down

0 comments on commit 4d3f5d0

Please sign in to comment.