diff options
Diffstat (limited to 'drivers/platform/x86/xo15-ebook.c')
| -rw-r--r-- | drivers/platform/x86/xo15-ebook.c | 9 | 
1 files changed, 5 insertions, 4 deletions
| diff --git a/drivers/platform/x86/xo15-ebook.c b/drivers/platform/x86/xo15-ebook.c index 391f7ea4431e..df2bf1c58523 100644 --- a/drivers/platform/x86/xo15-ebook.c +++ b/drivers/platform/x86/xo15-ebook.c @@ -81,9 +81,9 @@ static SIMPLE_DEV_PM_OPS(ebook_switch_pm, NULL, ebook_switch_resume);  static int ebook_switch_add(struct acpi_device *device)  { +	const struct acpi_device_id *id;  	struct ebook_switch *button;  	struct input_dev *input; -	const char *hid = acpi_device_hid(device);  	char *name, *class;  	int error; @@ -102,8 +102,9 @@ static int ebook_switch_add(struct acpi_device *device)  	name = acpi_device_name(device);  	class = acpi_device_class(device); -	if (strcmp(hid, XO15_EBOOK_HID)) { -		pr_err("Unsupported hid [%s]\n", hid); +	id = acpi_match_acpi_device(ebook_device_ids, device); +	if (!id) { +		dev_err(&device->dev, "Unsupported hid\n");  		error = -ENODEV;  		goto err_free_input;  	} @@ -111,7 +112,7 @@ static int ebook_switch_add(struct acpi_device *device)  	strcpy(name, XO15_EBOOK_DEVICE_NAME);  	sprintf(class, "%s/%s", XO15_EBOOK_CLASS, XO15_EBOOK_SUBCLASS); -	snprintf(button->phys, sizeof(button->phys), "%s/button/input0", hid); +	snprintf(button->phys, sizeof(button->phys), "%s/button/input0", id->id);  	input->name = name;  	input->phys = button->phys; |