Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target...
[linux-2.6-block.git] / drivers / mfd / stmpe-spi.c
index 6fdb30e84a2bb932bfa0b3650f179a962e98b9cc..618ba244d98a61a70341381ee46d0f8a9fb5d5e5 100644 (file)
@@ -11,6 +11,7 @@
 #include <linux/interrupt.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
+#include <linux/of.h>
 #include <linux/types.h>
 #include "stmpe.h"
 
@@ -108,6 +109,17 @@ static int stmpe_spi_remove(struct spi_device *spi)
        return stmpe_remove(stmpe);
 }
 
+static const struct of_device_id stmpe_spi_of_match[] = {
+       { .compatible = "st,stmpe610", },
+       { .compatible = "st,stmpe801", },
+       { .compatible = "st,stmpe811", },
+       { .compatible = "st,stmpe1601", },
+       { .compatible = "st,stmpe2401", },
+       { .compatible = "st,stmpe2403", },
+       { /* sentinel */ },
+};
+MODULE_DEVICE_TABLE(of, stmpe_spi_of_match);
+
 static const struct spi_device_id stmpe_spi_id[] = {
        { "stmpe610", STMPE610 },
        { "stmpe801", STMPE801 },
@@ -122,6 +134,7 @@ MODULE_DEVICE_TABLE(spi, stmpe_id);
 static struct spi_driver stmpe_spi_driver = {
        .driver = {
                .name   = "stmpe-spi",
+               .of_match_table = of_match_ptr(stmpe_spi_of_match),
                .owner  = THIS_MODULE,
 #ifdef CONFIG_PM
                .pm     = &stmpe_dev_pm_ops,