@@ -42,6 +42,7 @@
#include <linux/stat.h>
#include <linux/hsi/hsi.h>
#include <linux/hsi/hsi_char.h>
+#include <linux/of_device.h>
#define HSC_DEVS 16 /* Num of channels */
#define HSC_MSGS 4
@@ -758,12 +759,22 @@ static int hsc_remove(struct device *dev)
return 0;
}
+#ifdef CONFIG_OF
+static const struct of_device_id hsi_char_of_match[] = {
+ { .compatible = "ssi-char", },
+ { .compatible = "hsi-char", },
+ {},
+};
+MODULE_DEVICE_TABLE(of, hsi_char_of_match);
+#endif
+
static struct hsi_client_driver hsc_driver = {
.driver = {
.name = "hsi_char",
.owner = THIS_MODULE,
.probe = hsc_probe,
.remove = hsc_remove,
+ .of_match_table = of_match_ptr(hsi_char_of_match),
},
};
Add of_match_table to hsi_char driver, so that it can be referenced from Device Tree. Signed-off-by: Sebastian Reichel <sre@debian.org> --- drivers/hsi/clients/hsi_char.c | 11 +++++++++++ 1 file changed, 11 insertions(+)