forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-11 04dd17822334871b23ea2862f7798fb0e0007777
kernel/drivers/net/ethernet/stmicro/stmmac/dwmac-anarion.c
....@@ -1,9 +1,9 @@
1
+// SPDX-License-Identifier: GPL-2.0-or-later
12 /*
23 * Adaptrum Anarion DWMAC glue layer
34 *
45 * Copyright (C) 2017, Adaptrum, Inc.
56 * (Written by Alexandru Gagniuc <alex.g at adaptrum.com> for Adaptrum, Inc.)
6
- * Licensed under the GPLv2 or (at your option) any later version.
77 */
88
99 #include <linux/io.h>
....@@ -61,13 +61,12 @@
6161
6262 static struct anarion_gmac *anarion_config_dt(struct platform_device *pdev)
6363 {
64
- int phy_mode;
65
- struct resource *res;
66
- void __iomem *ctl_block;
6764 struct anarion_gmac *gmac;
65
+ phy_interface_t phy_mode;
66
+ void __iomem *ctl_block;
67
+ int err;
6868
69
- res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
70
- ctl_block = devm_ioremap_resource(&pdev->dev, res);
69
+ ctl_block = devm_platform_ioremap_resource(pdev, 1);
7170 if (IS_ERR(ctl_block)) {
7271 dev_err(&pdev->dev, "Cannot get reset region (%ld)!\n",
7372 PTR_ERR(ctl_block));
....@@ -80,11 +79,15 @@
8079
8180 gmac->ctl_block = (uintptr_t)ctl_block;
8281
83
- phy_mode = of_get_phy_mode(pdev->dev.of_node);
82
+ err = of_get_phy_mode(pdev->dev.of_node, &phy_mode);
83
+ if (err)
84
+ return ERR_PTR(err);
85
+
8486 switch (phy_mode) {
85
- case PHY_INTERFACE_MODE_RGMII: /* Fall through */
86
- case PHY_INTERFACE_MODE_RGMII_ID /* Fall through */:
87
- case PHY_INTERFACE_MODE_RGMII_RXID: /* Fall through */
87
+ case PHY_INTERFACE_MODE_RGMII:
88
+ fallthrough;
89
+ case PHY_INTERFACE_MODE_RGMII_ID:
90
+ case PHY_INTERFACE_MODE_RGMII_RXID:
8891 case PHY_INTERFACE_MODE_RGMII_TXID:
8992 gmac->phy_intf_sel = GMAC_CONFIG_INTF_RGMII;
9093 break;