Staging: iio: adt7316: Add of_device_id table
authorShreeya Patel <shreeya.patel23498@gmail.com>
Tue, 20 Nov 2018 16:52:30 +0000 (22:22 +0530)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 25 Nov 2018 11:43:47 +0000 (11:43 +0000)
When the kernel starts up, it kicks off compiled-in drivers
that match “compatible” entries it finds in the device tree.
At a later stage (when /lib/modules is available), all kernel modules
that match “compatible” entries in the device tree are loaded.

But if there is no dt table then there should be a fall back path
with which desired kernel modules can be loaded. Hence, add
of_device_id table in the i2c driver to be able to use when there
is no dt table.

Signed-off-by: Shreeya Patel <shreeya.patel23498@gmail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/staging/iio/addac/adt7316-i2c.c

index 473e5e34ec0032ce94425dace224d933892efa32..41bc4ca008bc95bf6475019b5a49aa89547a6f61 100644 (file)
@@ -126,9 +126,22 @@ static const struct i2c_device_id adt7316_i2c_id[] = {
 
 MODULE_DEVICE_TABLE(i2c, adt7316_i2c_id);
 
+static const struct of_device_id adt7316_of_match[] = {
+       { .compatible = "adi,adt7316" },
+       { .compatible = "adi,adt7317" },
+       { .compatible = "adi,adt7318" },
+       { .compatible = "adi,adt7516" },
+       { .compatible = "adi,adt7517" },
+       { .compatible = "adi,adt7519" },
+       { },
+};
+
+MODULE_DEVICE_TABLE(of, adt7316_of_match);
+
 static struct i2c_driver adt7316_driver = {
        .driver = {
                .name = "adt7316",
+               .of_match_table = adt7316_of_match,
                .pm = ADT7316_PM_OPS,
        },
        .probe = adt7316_i2c_probe,