altera_ps2: Add devicetree support
Walter Goossens [Mon, 14 Feb 2011 02:06:42 +0000 (10:06 +0800)]
Add match table for device tree binding.

v2: use const and add compat version.
v3: change compatible vendor to ALTR.
    add dts binding doc.
v4: condition module device table export for of.

Signed-off-by: Walter Goossens <waltergoossens@home.nl>
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Acked-by: Dmitry Torokhov <dtor@mail.ru>
[dustan.bower@gmail.com: fixed missing semicolon]
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>

Documentation/devicetree/bindings/serio/altera_ps2.txt [new file with mode: 0644]
drivers/input/serio/altera_ps2.c

diff --git a/Documentation/devicetree/bindings/serio/altera_ps2.txt b/Documentation/devicetree/bindings/serio/altera_ps2.txt
new file mode 100644 (file)
index 0000000..4d9eecc
--- /dev/null
@@ -0,0 +1,4 @@
+Altera UP PS/2 controller
+
+Required properties:
+- compatible : should be "ALTR,ps2-1.0".
index 7998560..d363dc4 100644 (file)
@@ -19,6 +19,7 @@
 #include <linux/platform_device.h>
 #include <linux/io.h>
 #include <linux/slab.h>
+#include <linux/of.h>
 
 #define DRV_NAME "altera_ps2"
 
@@ -173,6 +174,16 @@ static int __devexit altera_ps2_remove(struct platform_device *pdev)
        return 0;
 }
 
+#ifdef CONFIG_OF
+static const struct of_device_id altera_ps2_match[] = {
+       { .compatible = "ALTR,ps2-1.0", },
+       {},
+};
+MODULE_DEVICE_TABLE(of, altera_ps2_match);
+#else /* CONFIG_OF */
+#define altera_ps2_match NULL
+#endif /* CONFIG_OF */
+
 /*
  * Our device driver structure
  */
@@ -182,6 +193,7 @@ static struct platform_driver altera_ps2_driver = {
        .driver = {
                .name   = DRV_NAME,
                .owner  = THIS_MODULE,
+               .of_match_table = altera_ps2_match,
        },
 };
 
@@ -189,13 +201,12 @@ static int __init altera_ps2_init(void)
 {
        return platform_driver_register(&altera_ps2_driver);
 }
+module_init(altera_ps2_init);
 
 static void __exit altera_ps2_exit(void)
 {
        platform_driver_unregister(&altera_ps2_driver);
 }
-
-module_init(altera_ps2_init);
 module_exit(altera_ps2_exit);
 
 MODULE_DESCRIPTION("Altera University Program PS2 controller driver");