can: c_can_platform: Fix raminit, use devm_ioremap() instead of devm_ioremap_resource()
authorGeorge Cherian <george.cherian@ti.com>
Fri, 25 Jul 2014 06:19:41 +0000 (11:49 +0530)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Fri, 25 Jul 2014 07:23:08 +0000 (09:23 +0200)
The raminit register is shared register for both can0 and can1. Since commit:

    32766ff net: can: Convert to use devm_ioremap_resource

devm_ioremap_resource() is used to map raminit register. When using both
interfaces the mapping for the can1 interface fails, leading to a non
functional can interface.

Signed-off-by: George Cherian <george.cherian@ti.com>
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Cc: linux-stable <stable@vger.kernel.org> # >= v3.11
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
drivers/net/can/c_can/c_can_platform.c

index 824108cd9fd594a91c25b0b4a1d43d3341ad9a31..12430be6448acd86d4fa530cab24f6deb3a462a8 100644 (file)
@@ -287,7 +287,8 @@ static int c_can_plat_probe(struct platform_device *pdev)
                        break;
                }
 
-               priv->raminit_ctrlreg = devm_ioremap_resource(&pdev->dev, res);
+               priv->raminit_ctrlreg = devm_ioremap(&pdev->dev, res->start,
+                                                    resource_size(res));
                if (IS_ERR(priv->raminit_ctrlreg) || priv->instance < 0)
                        dev_info(&pdev->dev, "control memory is not used for raminit\n");
                else