net: sh_eth: modify a condition of ioremap for TSU
Subsystems (3)
PATCH 3/5 net: sh_eth: modify a condition of ioremap for TSU
If the controller has TSU, the each channel needs TSU registers. This patch also fixes the iounmap condition in the sh_eth_drv_remove().
Signed-off-by Yoshihiro Shimoda <[email protected]>
--- drivers/net/ethernet/renesas/sh_eth.c | 25 ++++++++++++++----------- 1 files changed, 14 insertions(+), 11 deletions(-)
drivers/net/ethernet/renesas/sh_eth.c +14 -11
@@ -1859,18 +1859,20 @@ static int sh_eth_drv_probe(struct platform_device *pdev)/* read and set MAC address */ read_mac_address (ndev, pd->mac_addr); +/* ioremap the TSU registers */ +if (mdp->cd->tsu) { +struct resource *rtsu; + rtsu =platform_get_resource (pdev,IORESOURCE_MEM ,1 ); +if (!rtsu) { +dev_err (&pdev->dev,"Not found TSU resource\n" ); + goto out_release; + } + mdp->tsu_addr =ioremap (rtsu->start, +resource_size (rtsu)); + } +/* initialize first or needed device */ if (!devno || pd->needs_init) { -if (mdp->cd->tsu) { -struct resource *rtsu; - rtsu =platform_get_resource (pdev,IORESOURCE_MEM ,1 ); -if (!rtsu) { -dev_err (&pdev->dev,"Not found TSU resource\n" ); - goto out_release; - } - mdp->tsu_addr =ioremap (rtsu->start, -resource_size (rtsu)); - }if (mdp->cd->chip_reset) mdp->cd->chip_reset (ndev);
@@ -1919,7 +1921,8 @@ static int sh_eth_drv_remove(struct platform_device *pdev)struct net_device *ndev =platform_get_drvdata (pdev);struct sh_eth_private *mdp =netdev_priv (ndev); -iounmap (mdp->tsu_addr); +if (mdp->cd->tsu) +iounmap (mdp->tsu_addr);sh_mdio_release (ndev);unregister_netdev (ndev);pm_runtime_disable (&pdev->dev);
Signature · 1 line
1.7.1
From: "Shimoda, Yoshihiro" <[email protected]>
Date: Thu, 16 Feb 2012 12:55:01 +0900
Quoted 4 lines
If the controller has TSU, the each channel needs TSU registers. This patch also fixes the iounmap condition in the
sh_eth_drv_remove().Signed-off-by Yoshihiro Shimoda <[email protected]>
Applied.