forked from ~ljy/RK356X_SDK_RELEASE

hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/drivers/net/ethernet/hisilicon/hns_mdio.c
....@@ -1,10 +1,6 @@
1
+// SPDX-License-Identifier: GPL-2.0-or-later
12 /*
23 * Copyright (c) 2014-2015 Hisilicon Limited.
3
- *
4
- * This program is free software; you can redistribute it and/or modify
5
- * it under the terms of the GNU General Public License as published by
6
- * the Free Software Foundation; either version 2 of the License, or
7
- * (at your option) any later version.
84 */
95
106 #include <linux/acpi.h>
....@@ -39,7 +35,7 @@
3935 };
4036
4137 struct hns_mdio_device {
42
- void *vbase; /* mdio reg base address */
38
+ u8 __iomem *vbase; /* mdio reg base address */
4339 struct regmap *subctrl_vbase;
4440 struct hns_mdio_sc_reg sc_reg;
4541 };
....@@ -96,21 +92,17 @@
9692 #define MDIO_SC_CLK_ST 0x531C
9793 #define MDIO_SC_RESET_ST 0x5A1C
9894
99
-static void mdio_write_reg(void *base, u32 reg, u32 value)
95
+static void mdio_write_reg(u8 __iomem *base, u32 reg, u32 value)
10096 {
101
- u8 __iomem *reg_addr = (u8 __iomem *)base;
102
-
103
- writel_relaxed(value, reg_addr + reg);
97
+ writel_relaxed(value, base + reg);
10498 }
10599
106100 #define MDIO_WRITE_REG(a, reg, value) \
107101 mdio_write_reg((a)->vbase, (reg), (value))
108102
109
-static u32 mdio_read_reg(void *base, u32 reg)
103
+static u32 mdio_read_reg(u8 __iomem *base, u32 reg)
110104 {
111
- u8 __iomem *reg_addr = (u8 __iomem *)base;
112
-
113
- return readl_relaxed(reg_addr + reg);
105
+ return readl_relaxed(base + reg);
114106 }
115107
116108 #define mdio_set_field(origin, mask, shift, val) \
....@@ -121,7 +113,7 @@
121113
122114 #define mdio_get_field(origin, mask, shift) (((origin) >> (shift)) & (mask))
123115
124
-static void mdio_set_reg_field(void *base, u32 reg, u32 mask, u32 shift,
116
+static void mdio_set_reg_field(u8 __iomem *base, u32 reg, u32 mask, u32 shift,
125117 u32 val)
126118 {
127119 u32 origin = mdio_read_reg(base, reg);
....@@ -133,7 +125,7 @@
133125 #define MDIO_SET_REG_FIELD(dev, reg, mask, shift, val) \
134126 mdio_set_reg_field((dev)->vbase, (reg), (mask), (shift), (val))
135127
136
-static u32 mdio_get_reg_field(void *base, u32 reg, u32 mask, u32 shift)
128
+static u32 mdio_get_reg_field(u8 __iomem *base, u32 reg, u32 mask, u32 shift)
137129 {
138130 u32 origin;
139131
....@@ -218,7 +210,7 @@
218210 * @bus: mdio bus
219211 * @phy_id: phy id
220212 * @regnum: register num
221
- * @value: register value
213
+ * @data: register value
222214 *
223215 * Return 0 on success, negative on failure
224216 */
....@@ -281,7 +273,6 @@
281273 * @bus: mdio bus
282274 * @phy_id: phy id
283275 * @regnum: register num
284
- * @value: register value
285276 *
286277 * Return phy register value
287278 */
....@@ -429,7 +420,6 @@
429420 {
430421 struct hns_mdio_device *mdio_dev;
431422 struct mii_bus *new_bus;
432
- struct resource *res;
433423 int ret = -ENODEV;
434424
435425 if (!pdev) {
....@@ -454,8 +444,7 @@
454444 new_bus->priv = mdio_dev;
455445 new_bus->parent = &pdev->dev;
456446
457
- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
458
- mdio_dev->vbase = devm_ioremap_resource(&pdev->dev, res);
447
+ mdio_dev->vbase = devm_platform_ioremap_resource(pdev, 0);
459448 if (IS_ERR(mdio_dev->vbase)) {
460449 ret = PTR_ERR(mdio_dev->vbase);
461450 return ret;