| .. | .. |
|---|
| 165 | 165 | |
|---|
| 166 | 166 | static void bcmgenet_moca_phy_setup(struct bcmgenet_priv *priv) |
|---|
| 167 | 167 | { |
|---|
| 168 | | - u32 reg; |
|---|
| 169 | | - |
|---|
| 170 | | - if (!GENET_IS_V5(priv)) { |
|---|
| 171 | | - /* Speed settings are set in bcmgenet_mii_setup() */ |
|---|
| 172 | | - reg = bcmgenet_sys_readl(priv, SYS_PORT_CTRL); |
|---|
| 173 | | - reg |= LED_ACT_SOURCE_MAC; |
|---|
| 174 | | - bcmgenet_sys_writel(priv, reg, SYS_PORT_CTRL); |
|---|
| 175 | | - } |
|---|
| 176 | | - |
|---|
| 177 | 168 | if (priv->hw_params->flags & GENET_HAS_MOCA_LINK_DET) |
|---|
| 178 | 169 | fixed_phy_set_link_update(priv->dev->phydev, |
|---|
| 179 | 170 | bcmgenet_fixed_phy_link_update); |
|---|
| .. | .. |
|---|
| 206 | 197 | |
|---|
| 207 | 198 | if (!phy_name) { |
|---|
| 208 | 199 | phy_name = "MoCA"; |
|---|
| 200 | + if (!GENET_IS_V5(priv)) |
|---|
| 201 | + port_ctrl |= LED_ACT_SOURCE_MAC; |
|---|
| 209 | 202 | bcmgenet_moca_phy_setup(priv); |
|---|
| 210 | 203 | } |
|---|
| 211 | 204 | break; |
|---|
| .. | .. |
|---|
| 575 | 568 | }; |
|---|
| 576 | 569 | |
|---|
| 577 | 570 | phydev = fixed_phy_register(PHY_POLL, &fphy_status, NULL); |
|---|
| 578 | | - if (!phydev || IS_ERR(phydev)) { |
|---|
| 571 | + if (IS_ERR(phydev)) { |
|---|
| 579 | 572 | dev_err(kdev, "failed to register fixed PHY device\n"); |
|---|
| 580 | 573 | return -ENODEV; |
|---|
| 581 | 574 | } |
|---|
| .. | .. |
|---|
| 631 | 624 | if (of_phy_is_fixed_link(dn)) |
|---|
| 632 | 625 | of_phy_deregister_fixed_link(dn); |
|---|
| 633 | 626 | of_node_put(priv->phy_dn); |
|---|
| 627 | + clk_prepare_enable(priv->clk); |
|---|
| 634 | 628 | platform_device_unregister(priv->mii_pdev); |
|---|
| 629 | + clk_disable_unprepare(priv->clk); |
|---|
| 635 | 630 | } |
|---|