Lines Matching refs:user_dev
2626 static int dsa_user_phy_connect(struct net_device *user_dev, int addr, in dsa_user_phy_connect() argument
2629 struct dsa_port *dp = dsa_user_to_port(user_dev); in dsa_user_phy_connect()
2632 user_dev->phydev = mdiobus_get_phy(ds->user_mii_bus, addr); in dsa_user_phy_connect()
2633 if (!user_dev->phydev) { in dsa_user_phy_connect()
2634 netdev_err(user_dev, "no phy at %d\n", addr); in dsa_user_phy_connect()
2638 user_dev->phydev->dev_flags |= flags; in dsa_user_phy_connect()
2640 return phylink_connect_phy(dp->pl, user_dev->phydev); in dsa_user_phy_connect()
2643 static int dsa_user_phy_setup(struct net_device *user_dev) in dsa_user_phy_setup() argument
2645 struct dsa_port *dp = dsa_user_to_port(user_dev); in dsa_user_phy_setup()
2651 dp->pl_config.dev = &user_dev->dev; in dsa_user_phy_setup()
2675 ret = dsa_user_phy_connect(user_dev, dp->index, phy_flags); in dsa_user_phy_setup()
2678 netdev_err(user_dev, "failed to connect to PHY: %pe\n", in dsa_user_phy_setup()
2715 int dsa_user_suspend(struct net_device *user_dev) in dsa_user_suspend() argument
2717 struct dsa_port *dp = dsa_user_to_port(user_dev); in dsa_user_suspend()
2719 if (!netif_running(user_dev)) in dsa_user_suspend()
2722 netif_device_detach(user_dev); in dsa_user_suspend()
2731 int dsa_user_resume(struct net_device *user_dev) in dsa_user_resume() argument
2733 struct dsa_port *dp = dsa_user_to_port(user_dev); in dsa_user_resume()
2735 if (!netif_running(user_dev)) in dsa_user_resume()
2738 netif_device_attach(user_dev); in dsa_user_resume()
2751 struct net_device *user_dev; in dsa_user_create() local
2768 user_dev = alloc_netdev_mqs(sizeof(struct dsa_user_priv), name, in dsa_user_create()
2771 if (user_dev == NULL) in dsa_user_create()
2774 user_dev->rtnl_link_ops = &dsa_link_ops; in dsa_user_create()
2775 user_dev->ethtool_ops = &dsa_user_ethtool_ops; in dsa_user_create()
2777 user_dev->dcbnl_ops = &dsa_user_dcbnl_ops; in dsa_user_create()
2780 eth_hw_addr_set(user_dev, port->mac); in dsa_user_create()
2782 eth_hw_addr_inherit(user_dev, conduit); in dsa_user_create()
2783 user_dev->priv_flags |= IFF_NO_QUEUE; in dsa_user_create()
2785 user_dev->priv_flags |= IFF_UNICAST_FLT; in dsa_user_create()
2786 user_dev->netdev_ops = &dsa_user_netdev_ops; in dsa_user_create()
2788 user_dev->max_mtu = ds->ops->port_max_mtu(ds, port->index); in dsa_user_create()
2789 SET_NETDEV_DEVTYPE(user_dev, &dsa_type); in dsa_user_create()
2791 SET_NETDEV_DEV(user_dev, port->ds->dev); in dsa_user_create()
2792 SET_NETDEV_DEVLINK_PORT(user_dev, &port->devlink_port); in dsa_user_create()
2793 user_dev->dev.of_node = port->dn; in dsa_user_create()
2794 user_dev->vlan_features = conduit->vlan_features; in dsa_user_create()
2796 p = netdev_priv(user_dev); in dsa_user_create()
2797 user_dev->pcpu_stat_type = NETDEV_PCPU_STAT_TSTATS; in dsa_user_create()
2799 ret = gro_cells_init(&p->gcells, user_dev); in dsa_user_create()
2805 port->user = user_dev; in dsa_user_create()
2806 dsa_user_setup_tagger(user_dev); in dsa_user_create()
2808 netif_carrier_off(user_dev); in dsa_user_create()
2810 ret = dsa_user_phy_setup(user_dev); in dsa_user_create()
2812 netdev_err(user_dev, in dsa_user_create()
2820 ret = dsa_user_change_mtu(user_dev, ETH_DATA_LEN); in dsa_user_create()
2825 ret = register_netdevice(user_dev); in dsa_user_create()
2828 ret, user_dev->name); in dsa_user_create()
2834 ret = dsa_user_dcbnl_init(user_dev); in dsa_user_create()
2836 netdev_err(user_dev, in dsa_user_create()
2844 ret = netdev_upper_dev_link(conduit, user_dev, NULL); in dsa_user_create()
2854 unregister_netdev(user_dev); in dsa_user_create()
2863 free_netdev(user_dev); in dsa_user_create()
2868 void dsa_user_destroy(struct net_device *user_dev) in dsa_user_destroy() argument
2870 struct net_device *conduit = dsa_user_to_conduit(user_dev); in dsa_user_destroy()
2871 struct dsa_port *dp = dsa_user_to_port(user_dev); in dsa_user_destroy()
2872 struct dsa_user_priv *p = netdev_priv(user_dev); in dsa_user_destroy()
2874 netif_carrier_off(user_dev); in dsa_user_destroy()
2876 netdev_upper_dev_unlink(conduit, user_dev); in dsa_user_destroy()
2877 unregister_netdevice(user_dev); in dsa_user_destroy()
2883 free_netdev(user_dev); in dsa_user_destroy()