iio: humidity: Support acpi probe for hts211
authorShrirang Bagul <shrirang.bagul@canonical.com>
Thu, 24 Nov 2016 09:07:54 +0000 (17:07 +0800)
committerJonathan Cameron <jic23@kernel.org>
Sat, 3 Dec 2016 08:56:28 +0000 (08:56 +0000)
Support driver probe by reading unique HID on systems based on ACPI instead
of DT compatible strings.

Signed-off-by: Shrirang Bagul <shrirang.bagul@canonical.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/iio/humidity/hts221_i2c.c

index 367ecd509f318a8d44c447c71375232fd8e04b88..8333c0296c0e63fea93896dda8aa13b834cd9636 100644 (file)
@@ -10,6 +10,7 @@
 
 #include <linux/kernel.h>
 #include <linux/module.h>
+#include <linux/acpi.h>
 #include <linux/i2c.h>
 #include <linux/slab.h>
 #include "hts221.h"
@@ -83,6 +84,12 @@ static int hts221_i2c_probe(struct i2c_client *client,
        return hts221_probe(iio_dev);
 }
 
+static const struct acpi_device_id hts221_acpi_match[] = {
+       {"SMO9100", 0},
+       { },
+};
+MODULE_DEVICE_TABLE(acpi, hts221_acpi_match);
+
 static const struct of_device_id hts221_i2c_of_match[] = {
        { .compatible = "st,hts221", },
        {},
@@ -99,6 +106,7 @@ static struct i2c_driver hts221_driver = {
        .driver = {
                .name = "hts221_i2c",
                .of_match_table = of_match_ptr(hts221_i2c_of_match),
+               .acpi_match_table = ACPI_PTR(hts221_acpi_match),
        },
        .probe = hts221_i2c_probe,
        .id_table = hts221_i2c_id_table,