.. | .. |
---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
---|
1 | 2 | /* |
---|
2 | 3 | * linux/drivers/net/ethernet/ethoc.c |
---|
3 | 4 | * |
---|
4 | 5 | * Copyright (C) 2007-2008 Avionic Design Development GmbH |
---|
5 | 6 | * Copyright (C) 2008-2009 Avionic Design GmbH |
---|
6 | | - * |
---|
7 | | - * This program is free software; you can redistribute it and/or modify |
---|
8 | | - * it under the terms of the GNU General Public License version 2 as |
---|
9 | | - * published by the Free Software Foundation. |
---|
10 | 7 | * |
---|
11 | 8 | * Written by Thierry Reding <thierry.reding@avionic-design.de> |
---|
12 | 9 | */ |
---|
.. | .. |
---|
180 | 177 | * struct ethoc - driver-private device structure |
---|
181 | 178 | * @iobase: pointer to I/O memory region |
---|
182 | 179 | * @membase: pointer to buffer memory region |
---|
| 180 | + * @big_endian: just big or little (endian) |
---|
183 | 181 | * @num_bd: number of buffer descriptors |
---|
184 | 182 | * @num_tx: number of send buffers |
---|
185 | 183 | * @cur_tx: last send buffer written |
---|
.. | .. |
---|
192 | 190 | * @msg_enable: device state flags |
---|
193 | 191 | * @lock: device lock |
---|
194 | 192 | * @mdio: MDIO bus for PHY access |
---|
| 193 | + * @clk: clock |
---|
195 | 194 | * @phy_id: address of attached PHY |
---|
| 195 | + * @old_link: previous link info |
---|
| 196 | + * @old_duplex: previous duplex info |
---|
196 | 197 | */ |
---|
197 | 198 | struct ethoc { |
---|
198 | 199 | void __iomem *iobase; |
---|
.. | .. |
---|
721 | 722 | return err; |
---|
722 | 723 | } |
---|
723 | 724 | |
---|
724 | | - phy->advertising &= ~(ADVERTISED_1000baseT_Full | |
---|
725 | | - ADVERTISED_1000baseT_Half); |
---|
726 | | - phy->supported &= ~(SUPPORTED_1000baseT_Full | |
---|
727 | | - SUPPORTED_1000baseT_Half); |
---|
| 725 | + phy_set_max_speed(phy, SPEED_100); |
---|
728 | 726 | |
---|
729 | 727 | return 0; |
---|
730 | 728 | } |
---|
.. | .. |
---|
875 | 873 | return -ENOSYS; |
---|
876 | 874 | } |
---|
877 | 875 | |
---|
878 | | -static void ethoc_tx_timeout(struct net_device *dev) |
---|
| 876 | +static void ethoc_tx_timeout(struct net_device *dev, unsigned int txqueue) |
---|
879 | 877 | { |
---|
880 | 878 | struct ethoc *priv = netdev_priv(dev); |
---|
881 | 879 | u32 pending = ethoc_read(priv, INT_SOURCE); |
---|
.. | .. |
---|
1021 | 1019 | |
---|
1022 | 1020 | /** |
---|
1023 | 1021 | * ethoc_probe - initialize OpenCores ethernet MAC |
---|
1024 | | - * pdev: platform device |
---|
| 1022 | + * @pdev: platform device |
---|
1025 | 1023 | */ |
---|
1026 | 1024 | static int ethoc_probe(struct platform_device *pdev) |
---|
1027 | 1025 | { |
---|
.. | .. |
---|
1093 | 1091 | priv = netdev_priv(netdev); |
---|
1094 | 1092 | priv->netdev = netdev; |
---|
1095 | 1093 | |
---|
1096 | | - priv->iobase = devm_ioremap_nocache(&pdev->dev, netdev->base_addr, |
---|
| 1094 | + priv->iobase = devm_ioremap(&pdev->dev, netdev->base_addr, |
---|
1097 | 1095 | resource_size(mmio)); |
---|
1098 | 1096 | if (!priv->iobase) { |
---|
1099 | 1097 | dev_err(&pdev->dev, "cannot remap I/O memory space\n"); |
---|
.. | .. |
---|
1102 | 1100 | } |
---|
1103 | 1101 | |
---|
1104 | 1102 | if (netdev->mem_end) { |
---|
1105 | | - priv->membase = devm_ioremap_nocache(&pdev->dev, |
---|
| 1103 | + priv->membase = devm_ioremap(&pdev->dev, |
---|
1106 | 1104 | netdev->mem_start, resource_size(mem)); |
---|
1107 | 1105 | if (!priv->membase) { |
---|
1108 | 1106 | dev_err(&pdev->dev, "cannot remap memory space\n"); |
---|
.. | .. |
---|
1156 | 1154 | const void *mac; |
---|
1157 | 1155 | |
---|
1158 | 1156 | mac = of_get_mac_address(pdev->dev.of_node); |
---|
1159 | | - if (mac) |
---|
| 1157 | + if (!IS_ERR(mac)) |
---|
1160 | 1158 | ether_addr_copy(netdev->dev_addr, mac); |
---|
1161 | 1159 | priv->phy_id = -1; |
---|
1162 | 1160 | } |
---|