| .. | .. |
|---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-or-later |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * smc911x.c |
|---|
| 3 | 4 | * This is a driver for SMSC's LAN911{5,6,7,8} single-chip Ethernet devices. |
|---|
| .. | .. |
|---|
| 5 | 6 | * Copyright (C) 2005 Sensoria Corp |
|---|
| 6 | 7 | * Derived from the unified SMC91x driver by Nicolas Pitre |
|---|
| 7 | 8 | * and the smsc911x.c reference driver by SMSC |
|---|
| 8 | | - * |
|---|
| 9 | | - * This program is free software; you can redistribute it and/or modify |
|---|
| 10 | | - * it under the terms of the GNU General Public License as published by |
|---|
| 11 | | - * the Free Software Foundation; either version 2 of the License, or |
|---|
| 12 | | - * (at your option) any later version. |
|---|
| 13 | | - * |
|---|
| 14 | | - * This program is distributed in the hope that it will be useful, |
|---|
| 15 | | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|---|
| 16 | | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|---|
| 17 | | - * GNU General Public License for more details. |
|---|
| 18 | | - * |
|---|
| 19 | | - * You should have received a copy of the GNU General Public License |
|---|
| 20 | | - * along with this program; if not, see <http://www.gnu.org/licenses/>. |
|---|
| 21 | 9 | * |
|---|
| 22 | 10 | * Arguments: |
|---|
| 23 | 11 | * watchdog = TX watchdog timeout |
|---|
| .. | .. |
|---|
| 724 | 712 | /* Found an external PHY */ |
|---|
| 725 | 713 | break; |
|---|
| 726 | 714 | } |
|---|
| 715 | + fallthrough; |
|---|
| 727 | 716 | default: |
|---|
| 728 | 717 | /* Internal media only */ |
|---|
| 729 | 718 | SMC_GET_PHY_ID1(lp, 1, id1); |
|---|
| .. | .. |
|---|
| 1188 | 1177 | |
|---|
| 1189 | 1178 | DBG(SMC_DEBUG_TX | SMC_DEBUG_DMA, dev, "TX DMA irq handler\n"); |
|---|
| 1190 | 1179 | BUG_ON(skb == NULL); |
|---|
| 1191 | | - dma_unmap_single(NULL, tx_dmabuf, tx_dmalen, DMA_TO_DEVICE); |
|---|
| 1180 | + dma_unmap_single(lp->dev, tx_dmabuf, tx_dmalen, DMA_TO_DEVICE); |
|---|
| 1192 | 1181 | netif_trans_update(dev); |
|---|
| 1193 | 1182 | dev_kfree_skb_irq(skb); |
|---|
| 1194 | 1183 | lp->current_tx_skb = NULL; |
|---|
| .. | .. |
|---|
| 1219 | 1208 | |
|---|
| 1220 | 1209 | DBG(SMC_DEBUG_FUNC, dev, "--> %s\n", __func__); |
|---|
| 1221 | 1210 | DBG(SMC_DEBUG_RX | SMC_DEBUG_DMA, dev, "RX DMA irq handler\n"); |
|---|
| 1222 | | - dma_unmap_single(NULL, rx_dmabuf, rx_dmalen, DMA_FROM_DEVICE); |
|---|
| 1211 | + dma_unmap_single(lp->dev, rx_dmabuf, rx_dmalen, DMA_FROM_DEVICE); |
|---|
| 1223 | 1212 | BUG_ON(skb == NULL); |
|---|
| 1224 | 1213 | lp->current_rx_skb = NULL; |
|---|
| 1225 | 1214 | PRINT_PKT(skb->data, skb->len); |
|---|
| .. | .. |
|---|
| 1256 | 1245 | #endif |
|---|
| 1257 | 1246 | |
|---|
| 1258 | 1247 | /* Our watchdog timed out. Called by the networking layer */ |
|---|
| 1259 | | -static void smc911x_timeout(struct net_device *dev) |
|---|
| 1248 | +static void smc911x_timeout(struct net_device *dev, unsigned int txqueue) |
|---|
| 1260 | 1249 | { |
|---|
| 1261 | 1250 | struct smc911x_local *lp = netdev_priv(dev); |
|---|
| 1262 | 1251 | int status, mask; |
|---|