Lines Matching refs:slave_dev

1675 static int dsa_slave_phy_connect(struct net_device *slave_dev, int addr)
1677 struct dsa_port *dp = dsa_slave_to_port(slave_dev);
1680 slave_dev->phydev = mdiobus_get_phy(ds->slave_mii_bus, addr);
1681 if (!slave_dev->phydev) {
1682 netdev_err(slave_dev, "no phy at %d\n", addr);
1686 return phylink_connect_phy(dp->pl, slave_dev->phydev);
1689 static int dsa_slave_phy_setup(struct net_device *slave_dev)
1691 struct dsa_port *dp = dsa_slave_to_port(slave_dev);
1702 dp->pl_config.dev = &slave_dev->dev;
1717 netdev_err(slave_dev,
1730 ret = dsa_slave_phy_connect(slave_dev, dp->index);
1733 netdev_err(slave_dev, "failed to connect to PHY: %pe\n",
1750 int dsa_slave_suspend(struct net_device *slave_dev)
1752 struct dsa_port *dp = dsa_slave_to_port(slave_dev);
1754 if (!netif_running(slave_dev))
1757 netif_device_detach(slave_dev);
1766 int dsa_slave_resume(struct net_device *slave_dev)
1768 struct dsa_port *dp = dsa_slave_to_port(slave_dev);
1770 if (!netif_running(slave_dev))
1773 netif_device_attach(slave_dev);
1802 struct net_device *slave_dev;
1809 slave_dev = alloc_netdev_mqs(sizeof(struct dsa_slave_priv), name,
1812 if (slave_dev == NULL)
1815 slave_dev->features = master->vlan_features | NETIF_F_HW_TC;
1817 slave_dev->features |= NETIF_F_HW_VLAN_CTAG_FILTER;
1818 slave_dev->hw_features |= NETIF_F_HW_TC;
1819 slave_dev->features |= NETIF_F_LLTX;
1820 slave_dev->ethtool_ops = &dsa_slave_ethtool_ops;
1822 ether_addr_copy(slave_dev->dev_addr, port->mac);
1824 eth_hw_addr_inherit(slave_dev, master);
1825 slave_dev->priv_flags |= IFF_NO_QUEUE;
1826 slave_dev->netdev_ops = &dsa_slave_netdev_ops;
1828 slave_dev->max_mtu = ds->ops->port_max_mtu(ds, port->index);
1830 slave_dev->needed_tailroom = cpu_dp->tag_ops->overhead;
1832 slave_dev->needed_headroom = cpu_dp->tag_ops->overhead;
1837 slave_dev->needed_headroom += master->needed_headroom;
1838 slave_dev->needed_tailroom += master->needed_tailroom;
1839 SET_NETDEV_DEVTYPE(slave_dev, &dsa_type);
1841 netdev_for_each_tx_queue(slave_dev, dsa_slave_set_lockdep_class_one,
1844 SET_NETDEV_DEV(slave_dev, port->ds->dev);
1845 slave_dev->dev.of_node = port->dn;
1846 slave_dev->vlan_features = master->vlan_features;
1848 p = netdev_priv(slave_dev);
1851 free_netdev(slave_dev);
1855 ret = gro_cells_init(&p->gcells, slave_dev);
1862 port->slave = slave_dev;
1865 ret = dsa_slave_change_mtu(slave_dev, ETH_DATA_LEN);
1871 netif_carrier_off(slave_dev);
1873 ret = dsa_slave_phy_setup(slave_dev);
1875 netdev_err(slave_dev,
1881 dsa_slave_notify(slave_dev, DSA_PORT_REGISTER);
1885 ret = register_netdevice(slave_dev);
1888 ret, slave_dev->name);
1893 ret = netdev_upper_dev_link(master, slave_dev, NULL);
1903 unregister_netdev(slave_dev);
1913 free_netdev(slave_dev);
1918 void dsa_slave_destroy(struct net_device *slave_dev)
1920 struct net_device *master = dsa_slave_to_master(slave_dev);
1921 struct dsa_port *dp = dsa_slave_to_port(slave_dev);
1922 struct dsa_slave_priv *p = netdev_priv(slave_dev);
1924 netif_carrier_off(slave_dev);
1926 netdev_upper_dev_unlink(master, slave_dev);
1927 unregister_netdevice(slave_dev);
1931 dsa_slave_notify(slave_dev, DSA_PORT_UNREGISTER);
1935 free_netdev(slave_dev);