.. | .. |
---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-or-later |
---|
1 | 2 | /* |
---|
2 | 3 | * 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. |
---|
8 | 4 | */ |
---|
9 | 5 | |
---|
10 | 6 | #include <linux/acpi.h> |
---|
.. | .. |
---|
39 | 35 | }; |
---|
40 | 36 | |
---|
41 | 37 | struct hns_mdio_device { |
---|
42 | | - void *vbase; /* mdio reg base address */ |
---|
| 38 | + u8 __iomem *vbase; /* mdio reg base address */ |
---|
43 | 39 | struct regmap *subctrl_vbase; |
---|
44 | 40 | struct hns_mdio_sc_reg sc_reg; |
---|
45 | 41 | }; |
---|
.. | .. |
---|
96 | 92 | #define MDIO_SC_CLK_ST 0x531C |
---|
97 | 93 | #define MDIO_SC_RESET_ST 0x5A1C |
---|
98 | 94 | |
---|
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) |
---|
100 | 96 | { |
---|
101 | | - u8 __iomem *reg_addr = (u8 __iomem *)base; |
---|
102 | | - |
---|
103 | | - writel_relaxed(value, reg_addr + reg); |
---|
| 97 | + writel_relaxed(value, base + reg); |
---|
104 | 98 | } |
---|
105 | 99 | |
---|
106 | 100 | #define MDIO_WRITE_REG(a, reg, value) \ |
---|
107 | 101 | mdio_write_reg((a)->vbase, (reg), (value)) |
---|
108 | 102 | |
---|
109 | | -static u32 mdio_read_reg(void *base, u32 reg) |
---|
| 103 | +static u32 mdio_read_reg(u8 __iomem *base, u32 reg) |
---|
110 | 104 | { |
---|
111 | | - u8 __iomem *reg_addr = (u8 __iomem *)base; |
---|
112 | | - |
---|
113 | | - return readl_relaxed(reg_addr + reg); |
---|
| 105 | + return readl_relaxed(base + reg); |
---|
114 | 106 | } |
---|
115 | 107 | |
---|
116 | 108 | #define mdio_set_field(origin, mask, shift, val) \ |
---|
.. | .. |
---|
121 | 113 | |
---|
122 | 114 | #define mdio_get_field(origin, mask, shift) (((origin) >> (shift)) & (mask)) |
---|
123 | 115 | |
---|
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, |
---|
125 | 117 | u32 val) |
---|
126 | 118 | { |
---|
127 | 119 | u32 origin = mdio_read_reg(base, reg); |
---|
.. | .. |
---|
133 | 125 | #define MDIO_SET_REG_FIELD(dev, reg, mask, shift, val) \ |
---|
134 | 126 | mdio_set_reg_field((dev)->vbase, (reg), (mask), (shift), (val)) |
---|
135 | 127 | |
---|
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) |
---|
137 | 129 | { |
---|
138 | 130 | u32 origin; |
---|
139 | 131 | |
---|
.. | .. |
---|
218 | 210 | * @bus: mdio bus |
---|
219 | 211 | * @phy_id: phy id |
---|
220 | 212 | * @regnum: register num |
---|
221 | | - * @value: register value |
---|
| 213 | + * @data: register value |
---|
222 | 214 | * |
---|
223 | 215 | * Return 0 on success, negative on failure |
---|
224 | 216 | */ |
---|
.. | .. |
---|
281 | 273 | * @bus: mdio bus |
---|
282 | 274 | * @phy_id: phy id |
---|
283 | 275 | * @regnum: register num |
---|
284 | | - * @value: register value |
---|
285 | 276 | * |
---|
286 | 277 | * Return phy register value |
---|
287 | 278 | */ |
---|
.. | .. |
---|
429 | 420 | { |
---|
430 | 421 | struct hns_mdio_device *mdio_dev; |
---|
431 | 422 | struct mii_bus *new_bus; |
---|
432 | | - struct resource *res; |
---|
433 | 423 | int ret = -ENODEV; |
---|
434 | 424 | |
---|
435 | 425 | if (!pdev) { |
---|
.. | .. |
---|
454 | 444 | new_bus->priv = mdio_dev; |
---|
455 | 445 | new_bus->parent = &pdev->dev; |
---|
456 | 446 | |
---|
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); |
---|
459 | 448 | if (IS_ERR(mdio_dev->vbase)) { |
---|
460 | 449 | ret = PTR_ERR(mdio_dev->vbase); |
---|
461 | 450 | return ret; |
---|