MODULE_DEVICE_TABLE(acpi, bq2415x_i2c_acpi_match);
 #endif
 
+#ifdef CONFIG_OF
+static const struct of_device_id bq2415x_of_match_table[] = {
+       { .compatible = "ti,bq24150" },
+       { .compatible = "ti,bq24150a" },
+       { .compatible = "ti,bq24151" },
+       { .compatible = "ti,bq24151a" },
+       { .compatible = "ti,bq24152" },
+       { .compatible = "ti,bq24153" },
+       { .compatible = "ti,bq24153a" },
+       { .compatible = "ti,bq24155" },
+       { .compatible = "ti,bq24156" },
+       { .compatible = "ti,bq24156a" },
+       { .compatible = "ti,bq24157s" },
+       { .compatible = "ti,bq24158" },
+       {},
+};
+MODULE_DEVICE_TABLE(of, bq2415x_of_match_table);
+#endif
+
 static struct i2c_driver bq2415x_driver = {
        .driver = {
                .name = "bq2415x-charger",
+               .of_match_table = of_match_ptr(bq2415x_of_match_table),
                .acpi_match_table = ACPI_PTR(bq2415x_i2c_acpi_match),
        },
        .probe = bq2415x_probe,