return devm_iio_device_register(&client->dev, indio_dev);
 }
 
+static const struct of_device_id vcnl_4000_of_match[] = {
+       {
+               .compatible = "vishay,vcnl4000",
+               .data = "VCNL4000",
+       },
+       {
+               .compatible = "vishay,vcnl4010",
+               .data = "VCNL4010",
+       },
+       {
+               .compatible = "vishay,vcnl4010",
+               .data = "VCNL4020",
+       },
+       {
+               .compatible = "vishay,vcnl4200",
+               .data = "VCNL4200",
+       },
+       {},
+};
+MODULE_DEVICE_TABLE(of, vcnl_4000_of_match);
+
 static struct i2c_driver vcnl4000_driver = {
        .driver = {
                .name   = VCNL4000_DRV_NAME,
+               .of_match_table = vcnl_4000_of_match,
        },
        .probe  = vcnl4000_probe,
        .id_table = vcnl4000_id,