|
@@ -12,6 +12,7 @@
|
|
|
|
|
|
#include <linux/string.h>
|
|
|
#include <linux/platform_device.h>
|
|
|
+#include <linux/of_device.h>
|
|
|
#include <linux/module.h>
|
|
|
#include <linux/init.h>
|
|
|
#include <linux/dma-mapping.h>
|
|
@@ -673,7 +674,11 @@ static int platform_match(struct device *dev, struct device_driver *drv)
|
|
|
struct platform_device *pdev = to_platform_device(dev);
|
|
|
struct platform_driver *pdrv = to_platform_driver(drv);
|
|
|
|
|
|
- /* match against the id table first */
|
|
|
+ /* Attempt an OF style match first */
|
|
|
+ if (of_driver_match_device(dev, drv))
|
|
|
+ return 1;
|
|
|
+
|
|
|
+ /* Then try to match against the id table */
|
|
|
if (pdrv->id_table)
|
|
|
return platform_match_id(pdrv->id_table, pdev) != NULL;
|
|
|
|