rpcd: iwinfo plugin fixes
[openwrt.git] / target / linux / ramips / patches-4.4 / 0514-net-mediatek-fix_esw.patch
1 --- a/drivers/net/ethernet/mediatek/esw_rt3050.c
2 +++ b/drivers/net/ethernet/mediatek/esw_rt3050.c
3 @@ -16,6 +16,7 @@
4  #include <linux/kernel.h>
5  #include <linux/platform_device.h>
6  #include <asm/mach-ralink/ralink_regs.h>
7 +#include <linux/of_irq.h>
8  
9  #include <linux/switch.h>
10  
11 @@ -1332,7 +1333,6 @@ static int esw_probe(struct platform_dev
12         const __be32 *port_map, *reg_init;
13         struct switch_dev *swdev;
14         struct rt305x_esw *esw;
15 -       struct resource *irq;
16         int ret;
17  
18         esw = devm_kzalloc(&pdev->dev, sizeof(*esw), GFP_KERNEL);
19 @@ -1340,7 +1340,7 @@ static int esw_probe(struct platform_dev
20                 return -ENOMEM;
21  
22         esw->dev = &pdev->dev;
23 -       esw->irq = irq->start;
24 +       esw->irq = irq_of_parse_and_map(np, 0);
25         esw->base = devm_ioremap_resource(&pdev->dev, res);
26         if (!esw->base)
27                 return -EADDRNOTAVAIL;
28 @@ -1365,7 +1365,7 @@ static int esw_probe(struct platform_dev
29         ret = register_switch(swdev, NULL);
30         if (ret < 0) {
31                 dev_err(&pdev->dev, "register_switch failed\n");
32 -               goto unmap_base;
33 +               return ret;
34         }
35  
36         platform_set_drvdata(pdev, esw);
37 @@ -1383,11 +1383,6 @@ static int esw_probe(struct platform_dev
38         }
39  
40         return ret;
41 -
42 -unmap_base:
43 -       iounmap(esw->base);
44 -       kfree(esw);
45 -       return ret;
46  }
47  
48  static int esw_remove(struct platform_device *pdev)