lantiq: add support for xrx200 firmware depending on soc type
[openwrt/openwrt.git] / target / linux / lantiq / patches-3.10 / 0210-lantiq-xrx200-firmware-multi-version.patch
1 --- a/arch/mips/lantiq/xway/xrx200_phy_fw.c
2 +++ b/arch/mips/lantiq/xway/xrx200_phy_fw.c
3 @@ -24,7 +24,23 @@ static dma_addr_t xway_gphy_load(struct
4 void *fw_addr;
5 size_t size;
6
7 - if (of_property_read_string(pdev->dev.of_node, "firmware", &fw_name)) {
8 + if (of_get_property(pdev->dev.of_node, "firmware1", NULL) || of_get_property(pdev->dev.of_node, "firmware2", NULL)) {
9 + switch(ltq_soc_type()) {
10 + case SOC_TYPE_VR9:
11 + if (of_property_read_string(pdev->dev.of_node, "firmware1", &fw_name)) {
12 + dev_err(&pdev->dev, "failed to load firmware filename\n");
13 + return 0;
14 + }
15 + break;
16 + case SOC_TYPE_VR9_2:
17 + if (of_property_read_string(pdev->dev.of_node, "firmware2", &fw_name)) {
18 + dev_err(&pdev->dev, "failed to load firmware filename\n");
19 + return 0;
20 + }
21 + break;
22 + }
23 + }
24 + else if (of_property_read_string(pdev->dev.of_node, "firmware", &fw_name)) {
25 dev_err(&pdev->dev, "failed to load firmware filename\n");
26 return 0;
27 }