Lines Matching refs:user_dev

2638 static int dsa_user_phy_connect(struct net_device *user_dev, int addr,  in dsa_user_phy_connect()  argument
2641 struct dsa_port *dp = dsa_user_to_port(user_dev); in dsa_user_phy_connect()
2644 user_dev->phydev = mdiobus_get_phy(ds->user_mii_bus, addr); in dsa_user_phy_connect()
2645 if (!user_dev->phydev) { in dsa_user_phy_connect()
2646 netdev_err(user_dev, "no phy at %d\n", addr); in dsa_user_phy_connect()
2650 user_dev->phydev->dev_flags |= flags; in dsa_user_phy_connect()
2652 return phylink_connect_phy(dp->pl, user_dev->phydev); in dsa_user_phy_connect()
2655 static int dsa_user_phy_setup(struct net_device *user_dev) in dsa_user_phy_setup() argument
2657 struct dsa_port *dp = dsa_user_to_port(user_dev); in dsa_user_phy_setup()
2663 dp->pl_config.dev = &user_dev->dev; in dsa_user_phy_setup()
2687 ret = dsa_user_phy_connect(user_dev, dp->index, phy_flags); in dsa_user_phy_setup()
2690 netdev_err(user_dev, "failed to connect to PHY: %pe\n", in dsa_user_phy_setup()
2727 int dsa_user_suspend(struct net_device *user_dev) in dsa_user_suspend() argument
2729 struct dsa_port *dp = dsa_user_to_port(user_dev); in dsa_user_suspend()
2731 if (!netif_running(user_dev)) in dsa_user_suspend()
2734 netif_device_detach(user_dev); in dsa_user_suspend()
2743 int dsa_user_resume(struct net_device *user_dev) in dsa_user_resume() argument
2745 struct dsa_port *dp = dsa_user_to_port(user_dev); in dsa_user_resume()
2747 if (!netif_running(user_dev)) in dsa_user_resume()
2750 netif_device_attach(user_dev); in dsa_user_resume()
2763 struct net_device *user_dev; in dsa_user_create() local
2780 user_dev = alloc_netdev_mqs(sizeof(struct dsa_user_priv), name, in dsa_user_create()
2783 if (user_dev == NULL) in dsa_user_create()
2786 user_dev->rtnl_link_ops = &dsa_link_ops; in dsa_user_create()
2787 user_dev->ethtool_ops = &dsa_user_ethtool_ops; in dsa_user_create()
2789 user_dev->dcbnl_ops = &dsa_user_dcbnl_ops; in dsa_user_create()
2792 eth_hw_addr_set(user_dev, port->mac); in dsa_user_create()
2794 eth_hw_addr_inherit(user_dev, conduit); in dsa_user_create()
2795 user_dev->priv_flags |= IFF_NO_QUEUE; in dsa_user_create()
2797 user_dev->priv_flags |= IFF_UNICAST_FLT; in dsa_user_create()
2798 user_dev->netdev_ops = &dsa_user_netdev_ops; in dsa_user_create()
2800 user_dev->max_mtu = ds->ops->port_max_mtu(ds, port->index); in dsa_user_create()
2801 SET_NETDEV_DEVTYPE(user_dev, &dsa_type); in dsa_user_create()
2803 SET_NETDEV_DEV(user_dev, port->ds->dev); in dsa_user_create()
2804 SET_NETDEV_DEVLINK_PORT(user_dev, &port->devlink_port); in dsa_user_create()
2805 user_dev->dev.of_node = port->dn; in dsa_user_create()
2806 user_dev->vlan_features = conduit->vlan_features; in dsa_user_create()
2808 p = netdev_priv(user_dev); in dsa_user_create()
2809 user_dev->pcpu_stat_type = NETDEV_PCPU_STAT_TSTATS; in dsa_user_create()
2811 ret = gro_cells_init(&p->gcells, user_dev); in dsa_user_create()
2817 port->user = user_dev; in dsa_user_create()
2818 dsa_user_setup_tagger(user_dev); in dsa_user_create()
2820 netif_carrier_off(user_dev); in dsa_user_create()
2822 ret = dsa_user_phy_setup(user_dev); in dsa_user_create()
2824 netdev_err(user_dev, in dsa_user_create()
2832 ret = dsa_user_change_mtu(user_dev, ETH_DATA_LEN); in dsa_user_create()
2837 ret = register_netdevice(user_dev); in dsa_user_create()
2840 ret, user_dev->name); in dsa_user_create()
2846 ret = dsa_user_dcbnl_init(user_dev); in dsa_user_create()
2848 netdev_err(user_dev, in dsa_user_create()
2856 ret = netdev_upper_dev_link(conduit, user_dev, NULL); in dsa_user_create()
2866 unregister_netdev(user_dev); in dsa_user_create()
2875 free_netdev(user_dev); in dsa_user_create()
2880 void dsa_user_destroy(struct net_device *user_dev) in dsa_user_destroy() argument
2882 struct net_device *conduit = dsa_user_to_conduit(user_dev); in dsa_user_destroy()
2883 struct dsa_port *dp = dsa_user_to_port(user_dev); in dsa_user_destroy()
2884 struct dsa_user_priv *p = netdev_priv(user_dev); in dsa_user_destroy()
2886 netif_carrier_off(user_dev); in dsa_user_destroy()
2888 netdev_upper_dev_unlink(conduit, user_dev); in dsa_user_destroy()
2889 unregister_netdevice(user_dev); in dsa_user_destroy()
2895 free_netdev(user_dev); in dsa_user_destroy()