Lines Matching refs:ks
166 static void ks8851_wrreg16(struct ks8851_net *ks, unsigned reg, unsigned val) in ks8851_wrreg16() argument
168 struct spi_transfer *xfer = &ks->spi_xfer1; in ks8851_wrreg16()
169 struct spi_message *msg = &ks->spi_msg1; in ks8851_wrreg16()
180 ret = spi_sync(ks->spidev, msg); in ks8851_wrreg16()
182 netdev_err(ks->netdev, "spi_sync() failed\n"); in ks8851_wrreg16()
193 static void ks8851_wrreg8(struct ks8851_net *ks, unsigned reg, unsigned val) in ks8851_wrreg8() argument
195 struct spi_transfer *xfer = &ks->spi_xfer1; in ks8851_wrreg8()
196 struct spi_message *msg = &ks->spi_msg1; in ks8851_wrreg8()
210 ret = spi_sync(ks->spidev, msg); in ks8851_wrreg8()
212 netdev_err(ks->netdev, "spi_sync() failed\n"); in ks8851_wrreg8()
225 static void ks8851_rdreg(struct ks8851_net *ks, unsigned op, in ks8851_rdreg() argument
230 __le16 *txb = (__le16 *)ks->txd; in ks8851_rdreg()
231 u8 *trx = ks->rxd; in ks8851_rdreg()
236 if (ks->spidev->master->flags & SPI_MASTER_HALF_DUPLEX) { in ks8851_rdreg()
237 msg = &ks->spi_msg2; in ks8851_rdreg()
238 xfer = ks->spi_xfer2; in ks8851_rdreg()
249 msg = &ks->spi_msg1; in ks8851_rdreg()
250 xfer = &ks->spi_xfer1; in ks8851_rdreg()
257 ret = spi_sync(ks->spidev, msg); in ks8851_rdreg()
259 netdev_err(ks->netdev, "read: spi_sync() failed\n"); in ks8851_rdreg()
260 else if (ks->spidev->master->flags & SPI_MASTER_HALF_DUPLEX) in ks8851_rdreg()
273 static unsigned ks8851_rdreg8(struct ks8851_net *ks, unsigned reg) in ks8851_rdreg8() argument
277 ks8851_rdreg(ks, MK_OP(1 << (reg & 3), reg), rxb, 1); in ks8851_rdreg8()
288 static unsigned ks8851_rdreg16(struct ks8851_net *ks, unsigned reg) in ks8851_rdreg16() argument
292 ks8851_rdreg(ks, MK_OP(reg & 2 ? 0xC : 0x3, reg), (u8 *)&rx, 2); in ks8851_rdreg16()
305 static unsigned ks8851_rdreg32(struct ks8851_net *ks, unsigned reg) in ks8851_rdreg32() argument
311 ks8851_rdreg(ks, MK_OP(0xf, reg), (u8 *)&rx, 4); in ks8851_rdreg32()
328 static void ks8851_soft_reset(struct ks8851_net *ks, unsigned op) in ks8851_soft_reset() argument
330 ks8851_wrreg16(ks, KS_GRR, op); in ks8851_soft_reset()
332 ks8851_wrreg16(ks, KS_GRR, 0); in ks8851_soft_reset()
343 static void ks8851_set_powermode(struct ks8851_net *ks, unsigned pwrmode) in ks8851_set_powermode() argument
347 netif_dbg(ks, hw, ks->netdev, "setting power mode %d\n", pwrmode); in ks8851_set_powermode()
349 pmecr = ks8851_rdreg16(ks, KS_PMECR); in ks8851_set_powermode()
353 ks8851_wrreg16(ks, KS_PMECR, pmecr); in ks8851_set_powermode()
367 struct ks8851_net *ks = netdev_priv(dev); in ks8851_write_mac_addr() local
370 mutex_lock(&ks->lock); in ks8851_write_mac_addr()
376 ks8851_set_powermode(ks, PMECR_PM_NORMAL); in ks8851_write_mac_addr()
378 ks8851_wrreg8(ks, KS_MAR(i), dev->dev_addr[i]); in ks8851_write_mac_addr()
380 ks8851_set_powermode(ks, PMECR_PM_SOFTDOWN); in ks8851_write_mac_addr()
382 mutex_unlock(&ks->lock); in ks8851_write_mac_addr()
395 struct ks8851_net *ks = netdev_priv(dev); in ks8851_read_mac_addr() local
398 mutex_lock(&ks->lock); in ks8851_read_mac_addr()
401 dev->dev_addr[i] = ks8851_rdreg8(ks, KS_MAR(i)); in ks8851_read_mac_addr()
403 mutex_unlock(&ks->lock); in ks8851_read_mac_addr()
416 static void ks8851_init_mac(struct ks8851_net *ks) in ks8851_init_mac() argument
418 struct net_device *dev = ks->netdev; in ks8851_init_mac()
421 mac_addr = of_get_mac_address(ks->spidev->dev.of_node); in ks8851_init_mac()
428 if (ks->rc_ccr & CCR_EEPROM) { in ks8851_init_mac()
433 netdev_err(ks->netdev, "invalid mac address read %pM\n", in ks8851_init_mac()
450 static void ks8851_rdfifo(struct ks8851_net *ks, u8 *buff, unsigned len) in ks8851_rdfifo() argument
452 struct spi_transfer *xfer = ks->spi_xfer2; in ks8851_rdfifo()
453 struct spi_message *msg = &ks->spi_msg2; in ks8851_rdfifo()
457 netif_dbg(ks, rx_status, ks->netdev, in ks8851_rdfifo()
472 ret = spi_sync(ks->spidev, msg); in ks8851_rdfifo()
474 netdev_err(ks->netdev, "%s: spi_sync() failed\n", __func__); in ks8851_rdfifo()
484 static void ks8851_dbg_dumpkkt(struct ks8851_net *ks, u8 *rxpkt) in ks8851_dbg_dumpkkt() argument
486 netdev_dbg(ks->netdev, in ks8851_dbg_dumpkkt()
501 static void ks8851_rx_pkts(struct ks8851_net *ks) in ks8851_rx_pkts() argument
510 rxfc = ks8851_rdreg8(ks, KS_RXFC); in ks8851_rx_pkts()
512 netif_dbg(ks, rx_status, ks->netdev, in ks8851_rx_pkts()
526 rxh = ks8851_rdreg32(ks, KS_RXFHSR); in ks8851_rx_pkts()
530 netif_dbg(ks, rx_status, ks->netdev, in ks8851_rx_pkts()
536 ks8851_wrreg16(ks, KS_RXFDPR, RXFDPR_RXFPAI | 0x00); in ks8851_rx_pkts()
539 ks8851_wrreg16(ks, KS_RXQCR, in ks8851_rx_pkts()
540 ks->rc_rxqcr | RXQCR_SDA | RXQCR_ADRFE); in ks8851_rx_pkts()
547 skb = netdev_alloc_skb_ip_align(ks->netdev, rxalign); in ks8851_rx_pkts()
558 ks8851_rdfifo(ks, rxpkt, rxalign + 8); in ks8851_rx_pkts()
560 if (netif_msg_pktdata(ks)) in ks8851_rx_pkts()
561 ks8851_dbg_dumpkkt(ks, rxpkt); in ks8851_rx_pkts()
563 skb->protocol = eth_type_trans(skb, ks->netdev); in ks8851_rx_pkts()
566 ks->netdev->stats.rx_packets++; in ks8851_rx_pkts()
567 ks->netdev->stats.rx_bytes += rxlen; in ks8851_rx_pkts()
571 ks8851_wrreg16(ks, KS_RXQCR, ks->rc_rxqcr); in ks8851_rx_pkts()
589 struct ks8851_net *ks = _ks; in ks8851_irq() local
593 mutex_lock(&ks->lock); in ks8851_irq()
595 status = ks8851_rdreg16(ks, KS_ISR); in ks8851_irq()
597 netif_dbg(ks, intr, ks->netdev, in ks8851_irq()
604 u16 pmecr = ks8851_rdreg16(ks, KS_PMECR); in ks8851_irq()
606 ks8851_wrreg16(ks, KS_PMECR, pmecr | PMECR_WKEVT_LINK); in ks8851_irq()
621 ks->tx_space = ks8851_rdreg16(ks, KS_TXMIR); in ks8851_irq()
623 netif_dbg(ks, intr, ks->netdev, in ks8851_irq()
624 "%s: txspace %d\n", __func__, ks->tx_space); in ks8851_irq()
631 dev_err(&ks->spidev->dev, "%s: spi bus error\n", __func__); in ks8851_irq()
635 ks8851_wrreg16(ks, KS_ISR, handled); in ks8851_irq()
643 ks8851_rx_pkts(ks); in ks8851_irq()
650 struct ks8851_rxctrl *rxc = &ks->rxctrl; in ks8851_irq()
653 ks8851_wrreg16(ks, KS_MAHTR0, rxc->mchash[0]); in ks8851_irq()
654 ks8851_wrreg16(ks, KS_MAHTR1, rxc->mchash[1]); in ks8851_irq()
655 ks8851_wrreg16(ks, KS_MAHTR2, rxc->mchash[2]); in ks8851_irq()
656 ks8851_wrreg16(ks, KS_MAHTR3, rxc->mchash[3]); in ks8851_irq()
658 ks8851_wrreg16(ks, KS_RXCR2, rxc->rxcr2); in ks8851_irq()
659 ks8851_wrreg16(ks, KS_RXCR1, rxc->rxcr1); in ks8851_irq()
662 mutex_unlock(&ks->lock); in ks8851_irq()
665 mii_check_link(&ks->mii); in ks8851_irq()
668 netif_wake_queue(ks->netdev); in ks8851_irq()
696 static void ks8851_wrpkt(struct ks8851_net *ks, struct sk_buff *txp, bool irq) in ks8851_wrpkt() argument
698 struct spi_transfer *xfer = ks->spi_xfer2; in ks8851_wrpkt()
699 struct spi_message *msg = &ks->spi_msg2; in ks8851_wrpkt()
703 netif_dbg(ks, tx_queued, ks->netdev, "%s: skb %p, %d@%p, irq %d\n", in ks8851_wrpkt()
706 fid = ks->fid++; in ks8851_wrpkt()
713 ks->txh.txb[1] = KS_SPIOP_TXFIFO; in ks8851_wrpkt()
714 ks->txh.txw[1] = cpu_to_le16(fid); in ks8851_wrpkt()
715 ks->txh.txw[2] = cpu_to_le16(txp->len); in ks8851_wrpkt()
717 xfer->tx_buf = &ks->txh.txb[1]; in ks8851_wrpkt()
726 ret = spi_sync(ks->spidev, msg); in ks8851_wrpkt()
728 netdev_err(ks->netdev, "%s: spi_sync() failed\n", __func__); in ks8851_wrpkt()
736 static void ks8851_done_tx(struct ks8851_net *ks, struct sk_buff *txb) in ks8851_done_tx() argument
738 struct net_device *dev = ks->netdev; in ks8851_done_tx()
755 struct ks8851_net *ks = container_of(work, struct ks8851_net, tx_work); in ks8851_tx_work() local
757 bool last = skb_queue_empty(&ks->txq); in ks8851_tx_work()
759 mutex_lock(&ks->lock); in ks8851_tx_work()
762 txb = skb_dequeue(&ks->txq); in ks8851_tx_work()
763 last = skb_queue_empty(&ks->txq); in ks8851_tx_work()
766 ks8851_wrreg16(ks, KS_RXQCR, ks->rc_rxqcr | RXQCR_SDA); in ks8851_tx_work()
767 ks8851_wrpkt(ks, txb, last); in ks8851_tx_work()
768 ks8851_wrreg16(ks, KS_RXQCR, ks->rc_rxqcr); in ks8851_tx_work()
769 ks8851_wrreg16(ks, KS_TXQCR, TXQCR_METFE); in ks8851_tx_work()
771 ks8851_done_tx(ks, txb); in ks8851_tx_work()
775 mutex_unlock(&ks->lock); in ks8851_tx_work()
787 struct ks8851_net *ks = netdev_priv(dev); in ks8851_net_open() local
791 mutex_lock(&ks->lock); in ks8851_net_open()
793 netif_dbg(ks, ifup, ks->netdev, "opening\n"); in ks8851_net_open()
796 ks8851_set_powermode(ks, PMECR_PM_NORMAL); in ks8851_net_open()
800 ks8851_soft_reset(ks, GRR_QMU); in ks8851_net_open()
804 ks8851_wrreg16(ks, KS_TXCR, (TXCR_TXE | /* enable transmit process */ in ks8851_net_open()
810 ks8851_wrreg16(ks, KS_TXFDPR, TXFDPR_TXFPAI); in ks8851_net_open()
814 ks8851_wrreg16(ks, KS_RXCR1, (RXCR1_RXPAFMA | /* from mac filter */ in ks8851_net_open()
821 ks8851_wrreg16(ks, KS_RXCR2, RXCR2_SRDBL_FRAME); in ks8851_net_open()
824 ks8851_wrreg16(ks, KS_RXDTTR, 1000); /* 1ms after first frame to IRQ */ in ks8851_net_open()
825 ks8851_wrreg16(ks, KS_RXDBCTR, 4096); /* >4Kbytes in buffer to IRQ */ in ks8851_net_open()
826 ks8851_wrreg16(ks, KS_RXFCTR, 10); /* 10 frames to IRQ */ in ks8851_net_open()
828 ks->rc_rxqcr = (RXQCR_RXFCTE | /* IRQ on frame count exceeded */ in ks8851_net_open()
832 ks8851_wrreg16(ks, KS_RXQCR, ks->rc_rxqcr); in ks8851_net_open()
843 ks->rc_ier = STD_IRQ; in ks8851_net_open()
844 ks8851_wrreg16(ks, KS_ISR, STD_IRQ); in ks8851_net_open()
845 ks8851_wrreg16(ks, KS_IER, STD_IRQ); in ks8851_net_open()
847 netif_start_queue(ks->netdev); in ks8851_net_open()
849 netif_dbg(ks, ifup, ks->netdev, "network device up\n"); in ks8851_net_open()
851 mutex_unlock(&ks->lock); in ks8851_net_open()
865 struct ks8851_net *ks = netdev_priv(dev); in ks8851_net_stop() local
867 netif_info(ks, ifdown, dev, "shutting down\n"); in ks8851_net_stop()
871 mutex_lock(&ks->lock); in ks8851_net_stop()
873 ks8851_wrreg16(ks, KS_IER, 0x0000); in ks8851_net_stop()
874 ks8851_wrreg16(ks, KS_ISR, 0xffff); in ks8851_net_stop()
875 mutex_unlock(&ks->lock); in ks8851_net_stop()
878 flush_work(&ks->tx_work); in ks8851_net_stop()
879 flush_work(&ks->rxctrl_work); in ks8851_net_stop()
881 mutex_lock(&ks->lock); in ks8851_net_stop()
883 ks8851_wrreg16(ks, KS_RXCR1, 0x0000); in ks8851_net_stop()
886 ks8851_wrreg16(ks, KS_TXCR, 0x0000); in ks8851_net_stop()
889 ks8851_set_powermode(ks, PMECR_PM_SOFTDOWN); in ks8851_net_stop()
890 mutex_unlock(&ks->lock); in ks8851_net_stop()
893 while (!skb_queue_empty(&ks->txq)) { in ks8851_net_stop()
894 struct sk_buff *txb = skb_dequeue(&ks->txq); in ks8851_net_stop()
896 netif_dbg(ks, ifdown, ks->netdev, in ks8851_net_stop()
921 struct ks8851_net *ks = netdev_priv(dev); in ks8851_start_xmit() local
925 netif_dbg(ks, tx_queued, ks->netdev, in ks8851_start_xmit()
928 spin_lock(&ks->statelock); in ks8851_start_xmit()
930 if (needed > ks->tx_space) { in ks8851_start_xmit()
934 ks->tx_space -= needed; in ks8851_start_xmit()
935 skb_queue_tail(&ks->txq, skb); in ks8851_start_xmit()
938 spin_unlock(&ks->statelock); in ks8851_start_xmit()
939 schedule_work(&ks->tx_work); in ks8851_start_xmit()
959 struct ks8851_net *ks = container_of(work, struct ks8851_net, rxctrl_work); in ks8851_rxctrl_work() local
961 mutex_lock(&ks->lock); in ks8851_rxctrl_work()
964 ks8851_wrreg16(ks, KS_RXCR1, 0x00); in ks8851_rxctrl_work()
966 mutex_unlock(&ks->lock); in ks8851_rxctrl_work()
971 struct ks8851_net *ks = netdev_priv(dev); in ks8851_set_rx_mode() local
1013 spin_lock(&ks->statelock); in ks8851_set_rx_mode()
1015 if (memcmp(&rxctrl, &ks->rxctrl, sizeof(rxctrl)) != 0) { in ks8851_set_rx_mode()
1016 memcpy(&ks->rxctrl, &rxctrl, sizeof(ks->rxctrl)); in ks8851_set_rx_mode()
1017 schedule_work(&ks->rxctrl_work); in ks8851_set_rx_mode()
1020 spin_unlock(&ks->statelock); in ks8851_set_rx_mode()
1039 struct ks8851_net *ks = netdev_priv(dev); in ks8851_net_ioctl() local
1044 return generic_mii_ioctl(&ks->mii, if_mii(req), cmd, NULL); in ks8851_net_ioctl()
1069 struct ks8851_net *ks = netdev_priv(dev); in ks8851_get_msglevel() local
1070 return ks->msg_enable; in ks8851_get_msglevel()
1075 struct ks8851_net *ks = netdev_priv(dev); in ks8851_set_msglevel() local
1076 ks->msg_enable = to; in ks8851_set_msglevel()
1082 struct ks8851_net *ks = netdev_priv(dev); in ks8851_get_link_ksettings() local
1084 mii_ethtool_get_link_ksettings(&ks->mii, cmd); in ks8851_get_link_ksettings()
1092 struct ks8851_net *ks = netdev_priv(dev); in ks8851_set_link_ksettings() local
1093 return mii_ethtool_set_link_ksettings(&ks->mii, cmd); in ks8851_set_link_ksettings()
1098 struct ks8851_net *ks = netdev_priv(dev); in ks8851_get_link() local
1099 return mii_link_ok(&ks->mii); in ks8851_get_link()
1104 struct ks8851_net *ks = netdev_priv(dev); in ks8851_nway_reset() local
1105 return mii_nway_restart(&ks->mii); in ks8851_nway_reset()
1112 struct ks8851_net *ks = ee->data; in ks8851_eeprom_regread() local
1115 val = ks8851_rdreg16(ks, KS_EEPCR); in ks8851_eeprom_regread()
1124 struct ks8851_net *ks = ee->data; in ks8851_eeprom_regwrite() local
1136 ks8851_wrreg16(ks, KS_EEPCR, val); in ks8851_eeprom_regwrite()
1146 static int ks8851_eeprom_claim(struct ks8851_net *ks) in ks8851_eeprom_claim() argument
1148 if (!(ks->rc_ccr & CCR_EEPROM)) in ks8851_eeprom_claim()
1151 mutex_lock(&ks->lock); in ks8851_eeprom_claim()
1154 ks8851_wrreg16(ks, KS_EEPCR, EEPCR_EESA | EEPCR_EECS); in ks8851_eeprom_claim()
1164 static void ks8851_eeprom_release(struct ks8851_net *ks) in ks8851_eeprom_release() argument
1166 unsigned val = ks8851_rdreg16(ks, KS_EEPCR); in ks8851_eeprom_release()
1168 ks8851_wrreg16(ks, KS_EEPCR, val & ~EEPCR_EESA); in ks8851_eeprom_release()
1169 mutex_unlock(&ks->lock); in ks8851_eeprom_release()
1177 struct ks8851_net *ks = netdev_priv(dev); in ks8851_set_eeprom() local
1189 if (ks8851_eeprom_claim(ks)) in ks8851_set_eeprom()
1192 eeprom_93cx6_wren(&ks->eeprom, true); in ks8851_set_eeprom()
1197 eeprom_93cx6_read(&ks->eeprom, offset/2, &tmp); in ks8851_set_eeprom()
1207 eeprom_93cx6_write(&ks->eeprom, offset/2, tmp); in ks8851_set_eeprom()
1208 eeprom_93cx6_wren(&ks->eeprom, false); in ks8851_set_eeprom()
1210 ks8851_eeprom_release(ks); in ks8851_set_eeprom()
1218 struct ks8851_net *ks = netdev_priv(dev); in ks8851_get_eeprom() local
1226 if (ks8851_eeprom_claim(ks)) in ks8851_get_eeprom()
1231 eeprom_93cx6_multiread(&ks->eeprom, offset/2, (__le16 *)data, len/2); in ks8851_get_eeprom()
1232 ks8851_eeprom_release(ks); in ks8851_get_eeprom()
1239 struct ks8851_net *ks = netdev_priv(dev); in ks8851_get_eeprom_len() local
1242 return ks->rc_ccr & CCR_EEPROM ? 128 : 0; in ks8851_get_eeprom_len()
1305 struct ks8851_net *ks = netdev_priv(dev); in ks8851_phy_read() local
1313 mutex_lock(&ks->lock); in ks8851_phy_read()
1314 result = ks8851_rdreg16(ks, ksreg); in ks8851_phy_read()
1315 mutex_unlock(&ks->lock); in ks8851_phy_read()
1323 struct ks8851_net *ks = netdev_priv(dev); in ks8851_phy_write() local
1328 mutex_lock(&ks->lock); in ks8851_phy_write()
1329 ks8851_wrreg16(ks, ksreg, value); in ks8851_phy_write()
1330 mutex_unlock(&ks->lock); in ks8851_phy_write()
1340 static int ks8851_read_selftest(struct ks8851_net *ks) in ks8851_read_selftest() argument
1346 rd = ks8851_rdreg16(ks, KS_MBIR); in ks8851_read_selftest()
1349 netdev_warn(ks->netdev, "Memory selftest not finished\n"); in ks8851_read_selftest()
1354 netdev_err(ks->netdev, "TX memory selftest fail\n"); in ks8851_read_selftest()
1359 netdev_err(ks->netdev, "RX memory selftest fail\n"); in ks8851_read_selftest()
1372 struct ks8851_net *ks = dev_get_drvdata(dev); in ks8851_suspend() local
1373 struct net_device *netdev = ks->netdev; in ks8851_suspend()
1385 struct ks8851_net *ks = dev_get_drvdata(dev); in ks8851_resume() local
1386 struct net_device *netdev = ks->netdev; in ks8851_resume()
1402 struct ks8851_net *ks; in ks8851_probe() local
1413 ks = netdev_priv(ndev); in ks8851_probe()
1415 ks->netdev = ndev; in ks8851_probe()
1416 ks->spidev = spi; in ks8851_probe()
1417 ks->tx_space = 6144; in ks8851_probe()
1426 ks->gpio = gpio; in ks8851_probe()
1436 ks->vdd_io = devm_regulator_get(&spi->dev, "vdd-io"); in ks8851_probe()
1437 if (IS_ERR(ks->vdd_io)) { in ks8851_probe()
1438 ret = PTR_ERR(ks->vdd_io); in ks8851_probe()
1442 ret = regulator_enable(ks->vdd_io); in ks8851_probe()
1449 ks->vdd_reg = devm_regulator_get(&spi->dev, "vdd"); in ks8851_probe()
1450 if (IS_ERR(ks->vdd_reg)) { in ks8851_probe()
1451 ret = PTR_ERR(ks->vdd_reg); in ks8851_probe()
1455 ret = regulator_enable(ks->vdd_reg); in ks8851_probe()
1467 mutex_init(&ks->lock); in ks8851_probe()
1468 spin_lock_init(&ks->statelock); in ks8851_probe()
1470 INIT_WORK(&ks->tx_work, ks8851_tx_work); in ks8851_probe()
1471 INIT_WORK(&ks->rxctrl_work, ks8851_rxctrl_work); in ks8851_probe()
1475 spi_message_init(&ks->spi_msg1); in ks8851_probe()
1476 spi_message_add_tail(&ks->spi_xfer1, &ks->spi_msg1); in ks8851_probe()
1478 spi_message_init(&ks->spi_msg2); in ks8851_probe()
1479 spi_message_add_tail(&ks->spi_xfer2[0], &ks->spi_msg2); in ks8851_probe()
1480 spi_message_add_tail(&ks->spi_xfer2[1], &ks->spi_msg2); in ks8851_probe()
1484 ks->eeprom.data = ks; in ks8851_probe()
1485 ks->eeprom.width = PCI_EEPROM_WIDTH_93C46; in ks8851_probe()
1486 ks->eeprom.register_read = ks8851_eeprom_regread; in ks8851_probe()
1487 ks->eeprom.register_write = ks8851_eeprom_regwrite; in ks8851_probe()
1490 ks->mii.dev = ndev; in ks8851_probe()
1491 ks->mii.phy_id = 1, in ks8851_probe()
1492 ks->mii.phy_id_mask = 1; in ks8851_probe()
1493 ks->mii.reg_num_mask = 0xf; in ks8851_probe()
1494 ks->mii.mdio_read = ks8851_phy_read; in ks8851_probe()
1495 ks->mii.mdio_write = ks8851_phy_write; in ks8851_probe()
1500 ks->msg_enable = netif_msg_init(msg_enable, (NETIF_MSG_DRV | in ks8851_probe()
1504 skb_queue_head_init(&ks->txq); in ks8851_probe()
1509 spi_set_drvdata(spi, ks); in ks8851_probe()
1516 ks8851_soft_reset(ks, GRR_GSR); in ks8851_probe()
1519 cider = ks8851_rdreg16(ks, KS_CIDER); in ks8851_probe()
1527 ks->rc_ccr = ks8851_rdreg16(ks, KS_CCR); in ks8851_probe()
1529 ks8851_read_selftest(ks); in ks8851_probe()
1530 ks8851_init_mac(ks); in ks8851_probe()
1534 ndev->name, ks); in ks8851_probe()
1548 ks->rc_ccr & CCR_EEPROM ? "has" : "no"); in ks8851_probe()
1554 free_irq(ndev->irq, ks); in ks8851_probe()
1560 regulator_disable(ks->vdd_reg); in ks8851_probe()
1562 regulator_disable(ks->vdd_io); in ks8851_probe()