Lines Matching refs:dev

113 	struct net_device *dev;
425 ret = regulator_bulk_get(&pdev->dev,
440 pdata->reset_gpiod = devm_gpiod_get_optional(&pdev->dev,
445 pdata->clk = clk_get(&pdev->dev, NULL);
447 dev_dbg(&pdev->dev, "couldn't get clock %li\n",
835 static int smsc911x_phy_loopbacktest(struct net_device *dev)
837 struct smsc911x_data *pdata = netdev_priv(dev);
838 struct phy_device *phy_dev = dev->phydev;
908 struct net_device *ndev = pdata->dev;
947 static void smsc911x_phy_adjust_link(struct net_device *dev)
949 struct smsc911x_data *pdata = netdev_priv(dev);
950 struct phy_device *phy_dev = dev->phydev;
976 carrier = netif_carrier_ok(dev);
1012 static int smsc911x_mii_probe(struct net_device *dev)
1014 struct smsc911x_data *pdata = netdev_priv(dev);
1021 netdev_err(dev, "no PHY found\n");
1028 ret = phy_connect_direct(dev, phydev, &smsc911x_phy_adjust_link,
1032 netdev_err(dev, "Could not attach to PHY\n");
1047 if (smsc911x_phy_loopbacktest(dev) < 0) {
1060 struct net_device *dev)
1062 struct smsc911x_data *pdata = netdev_priv(dev);
1078 pdata->mii_bus->parent = &pdev->dev;
1121 static void smsc911x_tx_update_txcounters(struct net_device *dev)
1123 struct smsc911x_data *pdata = netdev_priv(dev);
1138 dev->stats.tx_errors++;
1140 dev->stats.tx_packets++;
1141 dev->stats.tx_bytes += (tx_stat >> 16);
1144 dev->stats.collisions += 16;
1145 dev->stats.tx_aborted_errors += 1;
1147 dev->stats.collisions +=
1151 dev->stats.tx_carrier_errors += 1;
1153 dev->stats.collisions++;
1154 dev->stats.tx_aborted_errors++;
1162 smsc911x_rx_counterrors(struct net_device *dev, unsigned int rxstat)
1167 dev->stats.rx_errors++;
1169 dev->stats.rx_crc_errors++;
1176 dev->stats.rx_length_errors++;
1178 dev->stats.multicast++;
1209 struct net_device *dev = pdata->dev;
1236 smsc911x_rx_counterrors(dev, rxstat);
1244 dev->stats.rx_dropped++;
1248 skb = netdev_alloc_skb(dev, pktwords << 2);
1254 dev->stats.rx_dropped++;
1264 skb->protocol = eth_type_trans(skb, dev);
1269 dev->stats.rx_packets++;
1270 dev->stats.rx_bytes += (pktlength - 4);
1335 struct net_device *ndev = pdata->dev;
1373 struct net_device *ndev = pdata->dev;
1406 struct net_device *ndev = pdata->dev;
1514 static void smsc911x_disable_irq_chip(struct net_device *dev)
1516 struct smsc911x_data *pdata = netdev_priv(dev);
1524 struct net_device *dev = dev_id;
1525 struct smsc911x_data *pdata = netdev_priv(dev);
1556 netif_wake_queue(dev);
1583 static int smsc911x_open(struct net_device *dev)
1585 struct smsc911x_data *pdata = netdev_priv(dev);
1593 if (!dev->phydev) {
1594 retval = smsc911x_mii_probe(dev);
1632 smsc911x_set_hw_mac_address(pdata, dev->dev_addr);
1636 smsc911x_disable_irq_chip(dev);
1657 SMSC_TRACE(pdata, ifup, "Testing irq handler using IRQ %d", dev->irq);
1661 irq_flags = irq_get_trigger_type(dev->irq);
1662 retval = request_irq(dev->irq, smsc911x_irqhandler,
1663 irq_flags | IRQF_SHARED, dev->name, dev);
1666 "Unable to claim requested irq: %d", dev->irq);
1682 netdev_warn(dev, "ISR failed signaling test (IRQ %d)\n",
1683 dev->irq);
1688 dev->irq);
1690 netdev_info(dev, "SMSC911x/921x identified at %#08lx, IRQ: %d\n",
1691 (unsigned long)pdata->ioaddr, dev->irq);
1698 phy_start(dev->phydev);
1729 netif_start_queue(dev);
1733 free_irq(dev->irq, dev);
1735 phy_disconnect(dev->phydev);
1736 dev->phydev = NULL;
1742 static int smsc911x_stop(struct net_device *dev)
1744 struct smsc911x_data *pdata = netdev_priv(dev);
1753 netif_stop_queue(dev);
1757 dev->stats.rx_dropped += smsc911x_reg_read(pdata, RX_DROP);
1758 smsc911x_tx_update_txcounters(dev);
1760 free_irq(dev->irq, dev);
1763 if (dev->phydev) {
1764 phy_stop(dev->phydev);
1765 phy_disconnect(dev->phydev);
1766 dev->phydev = NULL;
1768 netif_carrier_off(dev);
1776 smsc911x_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
1778 struct smsc911x_data *pdata = netdev_priv(dev);
1814 smsc911x_tx_update_txcounters(dev);
1817 netif_stop_queue(dev);
1828 static struct net_device_stats *smsc911x_get_stats(struct net_device *dev)
1830 struct smsc911x_data *pdata = netdev_priv(dev);
1831 smsc911x_tx_update_txcounters(dev);
1832 dev->stats.rx_dropped += smsc911x_reg_read(pdata, RX_DROP);
1833 return &dev->stats;
1837 static void smsc911x_set_multicast_list(struct net_device *dev)
1839 struct smsc911x_data *pdata = netdev_priv(dev);
1842 if (dev->flags & IFF_PROMISC) {
1848 } else if (dev->flags & IFF_ALLMULTI) {
1854 } else if (!netdev_mc_empty(dev)) {
1863 netdev_for_each_mc_addr(ha, dev) {
1912 static void smsc911x_poll_controller(struct net_device *dev)
1914 disable_irq(dev->irq);
1915 smsc911x_irqhandler(0, dev);
1916 enable_irq(dev->irq);
1920 static int smsc911x_set_mac_address(struct net_device *dev, void *p)
1922 struct smsc911x_data *pdata = netdev_priv(dev);
1928 if (pdata->generation <= 1 && netif_running(dev))
1934 memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN);
1937 smsc911x_set_hw_mac_address(pdata, dev->dev_addr);
1940 netdev_info(dev, "MAC Address: %pM\n", dev->dev_addr);
1945 static void smsc911x_ethtool_getdrvinfo(struct net_device *dev,
1950 strlcpy(info->bus_info, dev_name(dev->dev.parent),
1954 static u32 smsc911x_ethtool_getmsglevel(struct net_device *dev)
1956 struct smsc911x_data *pdata = netdev_priv(dev);
1960 static void smsc911x_ethtool_setmsglevel(struct net_device *dev, u32 level)
1962 struct smsc911x_data *pdata = netdev_priv(dev);
1966 static int smsc911x_ethtool_getregslen(struct net_device *dev)
1973 smsc911x_ethtool_getregs(struct net_device *dev, struct ethtool_regs *regs,
1976 struct smsc911x_data *pdata = netdev_priv(dev);
1977 struct phy_device *phy_dev = dev->phydev;
2075 static int smsc911x_ethtool_get_eeprom_len(struct net_device *dev)
2080 static int smsc911x_ethtool_get_eeprom(struct net_device *dev,
2083 struct smsc911x_data *pdata = netdev_priv(dev);
2104 static int smsc911x_ethtool_set_eeprom(struct net_device *dev,
2108 struct smsc911x_data *pdata = netdev_priv(dev);
2151 /* copies the current mac address from hardware to dev->dev_addr */
2152 static void smsc911x_read_mac_address(struct net_device *dev)
2154 struct smsc911x_data *pdata = netdev_priv(dev);
2158 dev->dev_addr[0] = (u8)(mac_low32);
2159 dev->dev_addr[1] = (u8)(mac_low32 >> 8);
2160 dev->dev_addr[2] = (u8)(mac_low32 >> 16);
2161 dev->dev_addr[3] = (u8)(mac_low32 >> 24);
2162 dev->dev_addr[4] = (u8)(mac_high16);
2163 dev->dev_addr[5] = (u8)(mac_high16 >> 8);
2167 static int smsc911x_init(struct net_device *dev)
2169 struct smsc911x_data *pdata = netdev_priv(dev);
2176 SMSC_TRACE(pdata, probe, "IRQ: %d", dev->irq);
2207 netdev_err(dev, "Device not READY in 100ms aborting\n");
2288 smsc911x_read_mac_address(dev);
2296 dev->flags |= IFF_MULTICAST;
2297 netif_napi_add(dev, &pdata->napi, smsc911x_poll, SMSC_NAPI_WEIGHT);
2298 dev->netdev_ops = &smsc911x_netdev_ops;
2299 dev->ethtool_ops = &smsc911x_ethtool_ops;
2306 struct net_device *dev;
2310 dev = platform_get_drvdata(pdev);
2311 BUG_ON(!dev);
2312 pdata = netdev_priv(dev);
2318 unregister_netdev(dev);
2335 free_netdev(dev);
2337 pm_runtime_put(&pdev->dev);
2338 pm_runtime_disable(&pdev->dev);
2360 struct device *dev)
2366 phy_interface = device_get_phy_mode(dev);
2371 device_get_mac_address(dev, config->mac, ETH_ALEN);
2373 err = device_property_read_u32(dev, "reg-io-width", &width);
2381 device_property_read_u32(dev, "reg-shift", &config->shift);
2383 if (device_property_present(dev, "smsc,irq-active-high"))
2386 if (device_property_present(dev, "smsc,irq-push-pull"))
2389 if (device_property_present(dev, "smsc,force-internal-phy"))
2392 if (device_property_present(dev, "smsc,force-external-phy"))
2395 if (device_property_present(dev, "smsc,save-mac-address"))
2403 struct net_device *dev;
2405 struct smsc911x_platform_config *config = dev_get_platdata(&pdev->dev);
2436 dev = alloc_etherdev(sizeof(struct smsc911x_data));
2437 if (!dev) {
2442 SET_NETDEV_DEV(dev, &pdev->dev);
2444 pdata = netdev_priv(dev);
2445 dev->irq = irq;
2452 pdata->dev = dev;
2455 platform_set_drvdata(pdev, dev);
2471 retval = smsc911x_probe_config(&pdata->config, &pdev->dev);
2489 pm_runtime_enable(&pdev->dev);
2490 pm_runtime_get_sync(&pdev->dev);
2492 retval = smsc911x_init(dev);
2496 netif_carrier_off(dev);
2498 retval = smsc911x_mii_init(pdev, dev);
2504 retval = register_netdev(dev);
2510 "Network interface: \"%s\"", dev->name);
2516 if (is_valid_ether_addr(dev->dev_addr)) {
2517 smsc911x_set_hw_mac_address(pdata, dev->dev_addr);
2521 memcpy(dev->dev_addr, pdata->config.mac, ETH_ALEN);
2527 smsc_get_mac(dev);
2529 if (is_valid_ether_addr(dev->dev_addr)) {
2535 eth_hw_addr_random(dev);
2536 smsc911x_set_hw_mac_address(pdata, dev->dev_addr);
2544 netdev_info(dev, "MAC Address: %pM\n", dev->dev_addr);
2549 pm_runtime_put(&pdev->dev);
2550 pm_runtime_disable(&pdev->dev);
2558 free_netdev(dev);
2571 static int smsc911x_suspend(struct device *dev)
2573 struct net_device *ndev = dev_get_drvdata(dev);
2587 pm_runtime_disable(dev);
2588 pm_runtime_set_suspended(dev);
2593 static int smsc911x_resume(struct device *dev)
2595 struct net_device *ndev = dev_get_drvdata(dev);
2599 pm_runtime_enable(dev);
2600 pm_runtime_resume(dev);