|
@@ -33,6 +33,7 @@
|
|
|
#include <linux/wait.h>
|
|
|
#include <linux/rpmsg.h>
|
|
|
#include <linux/mutex.h>
|
|
|
+#include <linux/of_device.h>
|
|
|
|
|
|
/**
|
|
|
* struct virtproc_info - virtual remote processor state
|
|
@@ -175,11 +176,12 @@ static int rpmsg_dev_match(struct device *dev, struct device_driver *drv)
|
|
|
const struct rpmsg_device_id *ids = rpdrv->id_table;
|
|
|
unsigned int i;
|
|
|
|
|
|
- for (i = 0; ids[i].name[0]; i++)
|
|
|
- if (rpmsg_id_match(rpdev, &ids[i]))
|
|
|
- return 1;
|
|
|
+ if (ids)
|
|
|
+ for (i = 0; ids[i].name[0]; i++)
|
|
|
+ if (rpmsg_id_match(rpdev, &ids[i]))
|
|
|
+ return 1;
|
|
|
|
|
|
- return 0;
|
|
|
+ return of_driver_match_device(dev, drv);
|
|
|
}
|
|
|
|
|
|
static int rpmsg_uevent(struct device *dev, struct kobj_uevent_env *env)
|