> --- a/drivers/staging/octeon/ethernet.c
> +++ b/drivers/staging/octeon/ethernet.c
> @@ -13,6 +13,7 @@
>  #include <linux/phy.h>
>  #include <linux/slab.h>
>  #include <linux/interrupt.h>
> +#include <linux/of_mdio.h>
>  #include <linux/of_net.h>
>  #include <linux/if_ether.h>
>  #include <linux/if_vlan.h>
> @@ -892,6 +893,14 @@ static int cvm_oct_probe(struct platform_device *pdev)
>                               break;
>                       }
>  
> +                     if (priv->of_node && 
> of_phy_is_fixed_link(priv->of_node)) {
> +                             if (of_phy_register_fixed_link(priv->of_node)) {
> +                                     netdev_err(dev, "Failed to register 
> fixed link for interface %d, port %d\n",
> +                                                interface, priv->port);
> +                                     dev->netdev_ops = NULL;
> +                             }
> +                     }
> +
>                       if (!dev->netdev_ops) {
>                               free_netdev(dev);
>                       } else if (register_netdev(dev) < 0) {
> -- 
> 2.10.2

I would also expect a call to of_phy_deregister_fixed_link() somewhere
in the driver.

   Andrew
_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to