diff options
author | Ike Panhc <ike.pan@canonical.com> | 2010-10-01 15:39:14 +0800 |
---|---|---|
committer | Matthew Garrett <mjg@redhat.com> | 2010-10-21 09:36:49 -0400 |
commit | 6f8371c05e64138c305aa1b6a21857cd7a50e147 (patch) | |
tree | 50d8462ed93436ccad764d4e34ff198b60727417 /drivers/platform | |
parent | 8e7d354370f61cbe82a8b4a0f74224aed900b410 (diff) | |
download | op-kernel-dev-6f8371c05e64138c305aa1b6a21857cd7a50e147.zip op-kernel-dev-6f8371c05e64138c305aa1b6a21857cd7a50e147.tar.gz |
ideapad: make sure we bind on the correct device
By reading from method _CFG to make sure we bind on the correct VPC2004 device.
Signed-off-by: Ike Panhc <ike.pan@canonical.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
Diffstat (limited to 'drivers/platform')
-rw-r--r-- | drivers/platform/x86/ideapad_acpi.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/platform/x86/ideapad_acpi.c b/drivers/platform/x86/ideapad_acpi.c index e07d607..bf684f4 100644 --- a/drivers/platform/x86/ideapad_acpi.c +++ b/drivers/platform/x86/ideapad_acpi.c @@ -326,10 +326,13 @@ MODULE_DEVICE_TABLE(acpi, ideapad_device_ids); static int ideapad_acpi_add(struct acpi_device *adevice) { - int i; + int i, cfg; int devs_present[5]; struct ideapad_private *priv; + if (read_method_int(adevice->handle, "_CFG", &cfg)) + return -ENODEV; + for (i = IDEAPAD_DEV_CAMERA; i < IDEAPAD_DEV_KILLSW; i++) { devs_present[i] = ideapad_dev_exists(i); if (devs_present[i] < 0) |