Merge tag 'driver-core-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-block.git] / arch / mips / lantiq / xway / xrx200_phy_fw.c
index e4ed004015c412b672ebb705275cc489e532ac98..199094a40c1558938000b602da9e92cdeca5ac80 100644 (file)
@@ -24,7 +24,28 @@ static dma_addr_t xway_gphy_load(struct platform_device *pdev)
        void *fw_addr;
        size_t size;
 
-       if (of_property_read_string(pdev->dev.of_node, "firmware", &fw_name)) {
+       if (of_get_property(pdev->dev.of_node, "firmware1", NULL) ||
+               of_get_property(pdev->dev.of_node, "firmware2", NULL)) {
+               switch (ltq_soc_type()) {
+               case SOC_TYPE_VR9:
+                       if (of_property_read_string(pdev->dev.of_node,
+                                                   "firmware1", &fw_name)) {
+                               dev_err(&pdev->dev,
+                                       "failed to load firmware filename\n");
+                               return 0;
+                       }
+                       break;
+               case SOC_TYPE_VR9_2:
+                       if (of_property_read_string(pdev->dev.of_node,
+                                                   "firmware2", &fw_name)) {
+                               dev_err(&pdev->dev,
+                                       "failed to load firmware filename\n");
+                               return 0;
+                       }
+                       break;
+               }
+       } else if (of_property_read_string(pdev->dev.of_node,
+                                        "firmware", &fw_name)) {
                dev_err(&pdev->dev, "failed to load firmware filename\n");
                return 0;
        }