Skip to content

Commit 3cb1a3c

Browse files
onlyfly34davem330
authored andcommitted
net: phy: mediatek: Integrate read/write page helper functions
This patch integrates read/write page helper functions as MTK phy lib. They are basically the same in mtk-ge.c & mtk-ge-soc.c. Signed-off-by: SkyLake.Huang <skylake.huang@mediatek.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 477c200 commit 3cb1a3c

File tree

5 files changed

+26
-28
lines changed

5 files changed

+26
-28
lines changed

drivers/net/phy/mediatek/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ config MTK_NET_PHYLIB
44

55
config MEDIATEK_GE_PHY
66
tristate "MediaTek Gigabit Ethernet PHYs"
7+
select MTK_NET_PHYLIB
78
help
89
Supports the MediaTek non-built-in Gigabit Ethernet PHYs.
910

drivers/net/phy/mediatek/mtk-ge-soc.c

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -271,16 +271,6 @@ struct mtk_socphy_shared {
271271
struct mtk_socphy_priv priv[4];
272272
};
273273

274-
static int mtk_socphy_read_page(struct phy_device *phydev)
275-
{
276-
return __phy_read(phydev, MTK_EXT_PAGE_ACCESS);
277-
}
278-
279-
static int mtk_socphy_write_page(struct phy_device *phydev, int page)
280-
{
281-
return __phy_write(phydev, MTK_EXT_PAGE_ACCESS, page);
282-
}
283-
284274
/* One calibration cycle consists of:
285275
* 1.Set DA_CALIN_FLAG high to start calibration. Keep it high
286276
* until AD_CAL_COMP is ready to output calibration result.
@@ -1337,8 +1327,8 @@ static struct phy_driver mtk_socphy_driver[] = {
13371327
.probe = mt7981_phy_probe,
13381328
.suspend = genphy_suspend,
13391329
.resume = genphy_resume,
1340-
.read_page = mtk_socphy_read_page,
1341-
.write_page = mtk_socphy_write_page,
1330+
.read_page = mtk_phy_read_page,
1331+
.write_page = mtk_phy_write_page,
13421332
.led_blink_set = mt798x_phy_led_blink_set,
13431333
.led_brightness_set = mt798x_phy_led_brightness_set,
13441334
.led_hw_is_supported = mt798x_phy_led_hw_is_supported,
@@ -1354,8 +1344,8 @@ static struct phy_driver mtk_socphy_driver[] = {
13541344
.probe = mt7988_phy_probe,
13551345
.suspend = genphy_suspend,
13561346
.resume = genphy_resume,
1357-
.read_page = mtk_socphy_read_page,
1358-
.write_page = mtk_socphy_write_page,
1347+
.read_page = mtk_phy_read_page,
1348+
.write_page = mtk_phy_write_page,
13591349
.led_blink_set = mt798x_phy_led_blink_set,
13601350
.led_brightness_set = mt798x_phy_led_brightness_set,
13611351
.led_hw_is_supported = mt798x_phy_led_hw_is_supported,

drivers/net/phy/mediatek/mtk-ge.c

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
#include <linux/module.h>
44
#include <linux/phy.h>
55

6+
#include "mtk.h"
7+
68
#define MTK_EXT_PAGE_ACCESS 0x1f
79
#define MTK_PHY_PAGE_STANDARD 0x0000
810
#define MTK_PHY_PAGE_EXTENDED 0x0001
@@ -11,16 +13,6 @@
1113
#define MTK_PHY_PAGE_EXTENDED_2A30 0x2a30
1214
#define MTK_PHY_PAGE_EXTENDED_52B5 0x52b5
1315

14-
static int mtk_gephy_read_page(struct phy_device *phydev)
15-
{
16-
return __phy_read(phydev, MTK_EXT_PAGE_ACCESS);
17-
}
18-
19-
static int mtk_gephy_write_page(struct phy_device *phydev, int page)
20-
{
21-
return __phy_write(phydev, MTK_EXT_PAGE_ACCESS, page);
22-
}
23-
2416
static void mtk_gephy_config_init(struct phy_device *phydev)
2517
{
2618
/* Enable HW auto downshift */
@@ -77,8 +69,8 @@ static struct phy_driver mtk_gephy_driver[] = {
7769
.handle_interrupt = genphy_handle_interrupt_no_ack,
7870
.suspend = genphy_suspend,
7971
.resume = genphy_resume,
80-
.read_page = mtk_gephy_read_page,
81-
.write_page = mtk_gephy_write_page,
72+
.read_page = mtk_phy_read_page,
73+
.write_page = mtk_phy_write_page,
8274
},
8375
{
8476
PHY_ID_MATCH_EXACT(0x03a29441),
@@ -91,8 +83,8 @@ static struct phy_driver mtk_gephy_driver[] = {
9183
.handle_interrupt = genphy_handle_interrupt_no_ack,
9284
.suspend = genphy_suspend,
9385
.resume = genphy_resume,
94-
.read_page = mtk_gephy_read_page,
95-
.write_page = mtk_gephy_write_page,
86+
.read_page = mtk_phy_read_page,
87+
.write_page = mtk_phy_write_page,
9688
},
9789
};
9890

drivers/net/phy/mediatek/mtk-phy-lib.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,18 @@
66

77
#include "mtk.h"
88

9+
int mtk_phy_read_page(struct phy_device *phydev)
10+
{
11+
return __phy_read(phydev, MTK_EXT_PAGE_ACCESS);
12+
}
13+
EXPORT_SYMBOL_GPL(mtk_phy_read_page);
14+
15+
int mtk_phy_write_page(struct phy_device *phydev, int page)
16+
{
17+
return __phy_write(phydev, MTK_EXT_PAGE_ACCESS, page);
18+
}
19+
EXPORT_SYMBOL_GPL(mtk_phy_write_page);
20+
921
int mtk_phy_led_hw_is_supported(struct phy_device *phydev, u8 index,
1022
unsigned long rules,
1123
unsigned long supported_triggers)

drivers/net/phy/mediatek/mtk.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,9 @@ struct mtk_socphy_priv {
6666
unsigned long led_state;
6767
};
6868

69+
int mtk_phy_read_page(struct phy_device *phydev);
70+
int mtk_phy_write_page(struct phy_device *phydev, int page);
71+
6972
int mtk_phy_led_hw_is_supported(struct phy_device *phydev, u8 index,
7073
unsigned long rules,
7174
unsigned long supported_triggers);

0 commit comments

Comments
 (0)