forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-11 04dd17822334871b23ea2862f7798fb0e0007777
kernel/drivers/net/ethernet/stmicro/stmmac/dwmac-sti.c
....@@ -1,14 +1,10 @@
1
+// SPDX-License-Identifier: GPL-2.0-or-later
12 /*
23 * dwmac-sti.c - STMicroelectronics DWMAC Specific Glue layer
34 *
45 * Copyright (C) 2003-2014 STMicroelectronics (R&D) Limited
56 * Author: Srinivas Kandagatla <srinivas.kandagatla@st.com>
67 * Contributors: Giuseppe Cavallaro <peppe.cavallaro@st.com>
7
- *
8
- * This program is free software; you can redistribute it and/or modify
9
- * it under the terms of the GNU General Public License as published by
10
- * the Free Software Foundation; either version 2 of the License, or
11
- * (at your option) any later version.
128 */
139
1410 #include <linux/kernel.h>
....@@ -120,7 +116,7 @@
120116 #define ETH_PHY_SEL_MII 0x0
121117
122118 struct sti_dwmac {
123
- int interface; /* MII interface */
119
+ phy_interface_t interface; /* MII interface */
124120 bool ext_phyclk; /* Clock from external PHY */
125121 u32 tx_retime_src; /* TXCLK Retiming*/
126122 struct clk *clk; /* PHY clock */
....@@ -273,7 +269,12 @@
273269 return err;
274270 }
275271
276
- dwmac->interface = of_get_phy_mode(np);
272
+ err = of_get_phy_mode(np, &dwmac->interface);
273
+ if (err && err != -ENODEV) {
274
+ dev_err(dev, "Can't get phy-mode\n");
275
+ return err;
276
+ }
277
+
277278 dwmac->regmap = regmap;
278279 dwmac->gmac_en = of_property_read_bool(np, "st,gmac_en");
279280 dwmac->ext_phyclk = of_property_read_bool(np, "st,ext-phyclk");