|
@@ -626,7 +626,7 @@ static void dell_wmi_input_destroy(struct wmi_device *wdev)
|
|
* WMI Interface Version 8 4 <version>
|
|
* WMI Interface Version 8 4 <version>
|
|
* WMI buffer length 12 4 4096
|
|
* 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 };
|
|
struct acpi_buffer out = { ACPI_ALLOCATE_BUFFER, NULL };
|
|
union acpi_object *obj;
|
|
union acpi_object *obj;
|
|
@@ -717,9 +717,15 @@ static int dell_wmi_events_set_enabled(bool enable)
|
|
|
|
|
|
static int dell_wmi_probe(struct wmi_device *wdev)
|
|
static int dell_wmi_probe(struct wmi_device *wdev)
|
|
{
|
|
{
|
|
|
|
+ int err;
|
|
|
|
+
|
|
struct dell_wmi_priv *priv = devm_kzalloc(
|
|
struct dell_wmi_priv *priv = devm_kzalloc(
|
|
&wdev->dev, sizeof(struct dell_wmi_priv), GFP_KERNEL);
|
|
&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);
|
|
dev_set_drvdata(&wdev->dev, priv);
|
|
|
|
|
|
return dell_wmi_input_setup(wdev);
|
|
return dell_wmi_input_setup(wdev);
|
|
@@ -749,10 +755,6 @@ static int __init dell_wmi_init(void)
|
|
{
|
|
{
|
|
int err;
|
|
int err;
|
|
|
|
|
|
- err = dell_wmi_check_descriptor_buffer();
|
|
|
|
- if (err)
|
|
|
|
- return err;
|
|
|
|
-
|
|
|
|
dmi_check_system(dell_wmi_smbios_list);
|
|
dmi_check_system(dell_wmi_smbios_list);
|
|
|
|
|
|
if (wmi_requires_smbios_request) {
|
|
if (wmi_requires_smbios_request) {
|