diff options
author | Thomas Renninger <trenn@suse.de> | 2010-07-20 18:19:29 -0400 |
---|---|---|
committer | Matthew Garrett <mjg@redhat.com> | 2010-08-03 09:48:54 -0400 |
commit | b096667bc3f01e2468df56d4a241dc5231b2f2aa (patch) | |
tree | 71800c7a4214e72c4399897fa9e3ab8bfab983d4 /drivers/platform/x86 | |
parent | ae42f234470662aefe65ab59a0ef228f1f6f9c77 (diff) |
hp-wmi: return -ENODEV if BIOS does not export any supported hp wmi guid
Signed-off-by: Thomas Renninger <trenn@suse.de>
Cc: Matthew Garrett <mjg@redhat.com>
Cc: Len Brown <len.brown@intel.com>
Cc: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
Diffstat (limited to 'drivers/platform/x86')
-rw-r--r-- | drivers/platform/x86/hp-wmi.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/platform/x86/hp-wmi.c b/drivers/platform/x86/hp-wmi.c index d55bf58ce8f9..34b417848e29 100644 --- a/drivers/platform/x86/hp-wmi.c +++ b/drivers/platform/x86/hp-wmi.c | |||
@@ -711,8 +711,10 @@ static int hp_wmi_resume_handler(struct device *device) | |||
711 | static int __init hp_wmi_init(void) | 711 | static int __init hp_wmi_init(void) |
712 | { | 712 | { |
713 | int err; | 713 | int err; |
714 | int event_capable = wmi_has_guid(HPWMI_EVENT_GUID); | ||
715 | int bios_capable = wmi_has_guid(HPWMI_BIOS_GUID); | ||
714 | 716 | ||
715 | if (wmi_has_guid(HPWMI_EVENT_GUID)) { | 717 | if (event_capable) { |
716 | err = wmi_install_notify_handler(HPWMI_EVENT_GUID, | 718 | err = wmi_install_notify_handler(HPWMI_EVENT_GUID, |
717 | hp_wmi_notify, NULL); | 719 | hp_wmi_notify, NULL); |
718 | if (ACPI_FAILURE(err)) | 720 | if (ACPI_FAILURE(err)) |
@@ -724,7 +726,7 @@ static int __init hp_wmi_init(void) | |||
724 | } | 726 | } |
725 | } | 727 | } |
726 | 728 | ||
727 | if (wmi_has_guid(HPWMI_BIOS_GUID)) { | 729 | if (bios_capable) { |
728 | err = platform_driver_register(&hp_wmi_driver); | 730 | err = platform_driver_register(&hp_wmi_driver); |
729 | if (err) | 731 | if (err) |
730 | goto err_driver_reg; | 732 | goto err_driver_reg; |
@@ -738,6 +740,9 @@ static int __init hp_wmi_init(void) | |||
738 | goto err_device_add; | 740 | goto err_device_add; |
739 | } | 741 | } |
740 | 742 | ||
743 | if (!bios_capable && !event_capable) | ||
744 | return -ENODEV; | ||
745 | |||
741 | return 0; | 746 | return 0; |
742 | 747 | ||
743 | err_device_add: | 748 | err_device_add: |