|
|
@@ -24,6 +24,7 @@
|
|
|
#include <linux/slab.h>
|
|
|
#include <linux/uaccess.h>
|
|
|
#include <linux/pm_runtime.h>
|
|
|
+#include <linux/acpi.h>
|
|
|
#include "cyapa.h"
|
|
|
|
|
|
|
|
|
@@ -1369,11 +1370,21 @@ static const struct i2c_device_id cyapa_id_table[] = {
|
|
|
};
|
|
|
MODULE_DEVICE_TABLE(i2c, cyapa_id_table);
|
|
|
|
|
|
+#ifdef CONFIG_ACPI
|
|
|
+static const struct acpi_device_id cyapa_acpi_id[] = {
|
|
|
+ { "CYAP0000", 0 }, /* Gen3 trackpad with 0x67 I2C address. */
|
|
|
+ { "CYAP0001", 0 }, /* Gen5 trackpad with 0x24 I2C address. */
|
|
|
+ { }
|
|
|
+};
|
|
|
+MODULE_DEVICE_TABLE(acpi, cyapa_acpi_id);
|
|
|
+#endif
|
|
|
+
|
|
|
static struct i2c_driver cyapa_driver = {
|
|
|
.driver = {
|
|
|
.name = "cyapa",
|
|
|
.owner = THIS_MODULE,
|
|
|
.pm = &cyapa_pm_ops,
|
|
|
+ .acpi_match_table = ACPI_PTR(cyapa_acpi_id),
|
|
|
},
|
|
|
|
|
|
.probe = cyapa_probe,
|