diff options
| author | Serge Semin <fancer.lancer@gmail.com> | 2023-07-04 14:25:20 +0300 |
|---|---|---|
| committer | Serge Semin <fancer.lancer@gmail.com> | 2026-08-13 20:37:49 +0300 |
| commit | a4de026e4156d2a3c9e90db717dd0537fdd48e45 (patch) | |
| tree | 40ed07d3af9402b688e7ceac4a134ce58a328707 | |
| parent | c5a659e37630f5588f9b38cdc42660dccc6a53aa (diff) | |
| download | linux-a4de026e4156d2a3c9e90db717dd0537fdd48e45.tar.gz linux-a4de026e4156d2a3c9e90db717dd0537fdd48e45.zip | |
net: pcs: xpcs: Globalize CSR accessors
In order have the XPCS CSRs read, write, modify, poll and device
soft-reset methods accessible from separate objects let's globally define
them. They will be utilized from the PMA-config methods which in its
turned will be later defined separately in order to simplify the main
driver object file.
Signed-off-by: Serge Semin <fancer.lancer@gmail.com>
| -rw-r--r-- | drivers/net/pcs/pcs-xpcs.c | 14 | ||||
| -rw-r--r-- | drivers/net/pcs/pcs-xpcs.h | 7 |
2 files changed, 13 insertions, 8 deletions
diff --git a/drivers/net/pcs/pcs-xpcs.c b/drivers/net/pcs/pcs-xpcs.c index 2a07e893425b4..b035ba1ac48c2 100644 --- a/drivers/net/pcs/pcs-xpcs.c +++ b/drivers/net/pcs/pcs-xpcs.c @@ -234,19 +234,17 @@ int xpcs_modify(struct dw_xpcs *xpcs, int dev, u32 reg, u16 mask, u16 set) return mdiodev_c45_modify(xpcs->mdiodev, dev, reg, mask, set); } -static int xpcs_modify_changed(struct dw_xpcs *xpcs, int dev, u32 reg, - u16 mask, u16 set) +int xpcs_modify_changed(struct dw_xpcs *xpcs, int dev, u32 reg, u16 mask, u16 set) { return mdiodev_c45_modify_changed(xpcs->mdiodev, dev, reg, mask, set); } -static int xpcs_read_vendor(struct dw_xpcs *xpcs, int dev, u32 reg) +int xpcs_read_vendor(struct dw_xpcs *xpcs, int dev, u32 reg) { return xpcs_read(xpcs, dev, DW_VENDOR | reg); } -static int xpcs_write_vendor(struct dw_xpcs *xpcs, int dev, int reg, - u16 val) +int xpcs_write_vendor(struct dw_xpcs *xpcs, int dev, int reg, u16 val) { return xpcs_write(xpcs, dev, DW_VENDOR | reg, val); } @@ -272,7 +270,7 @@ static int xpcs_modify_vpcs(struct dw_xpcs *xpcs, int reg, u16 mask, u16 val) return xpcs_modify_vendor(xpcs, MDIO_MMD_PCS, reg, mask, val); } -static int xpcs_poll_val(struct dw_xpcs *xpcs, int dev, int reg, u16 mask, u16 goal) +int xpcs_poll_val(struct dw_xpcs *xpcs, int dev, int reg, u16 mask, u16 goal) { int ret, val; @@ -309,12 +307,12 @@ static int __xpcs_soft_reset(struct dw_xpcs *xpcs, bool vendor) return xpcs_poll_val(xpcs, dev, reg, BMCR_RESET, 0); } -static int xpcs_soft_reset(struct dw_xpcs *xpcs) +int xpcs_soft_reset(struct dw_xpcs *xpcs) { return __xpcs_soft_reset(xpcs, false); } -static int xpcs_vendor_reset(struct dw_xpcs *xpcs) +int xpcs_vendor_reset(struct dw_xpcs *xpcs) { return __xpcs_soft_reset(xpcs, true); } diff --git a/drivers/net/pcs/pcs-xpcs.h b/drivers/net/pcs/pcs-xpcs.h index 7805881e391dd..f80de96fcf8c6 100644 --- a/drivers/net/pcs/pcs-xpcs.h +++ b/drivers/net/pcs/pcs-xpcs.h @@ -127,8 +127,15 @@ struct dw_xpcs { int xpcs_read(struct dw_xpcs *xpcs, int dev, u32 reg); int xpcs_write(struct dw_xpcs *xpcs, int dev, u32 reg, u16 val); int xpcs_modify(struct dw_xpcs *xpcs, int dev, u32 reg, u16 mask, u16 set); +int xpcs_modify_changed(struct dw_xpcs *xpcs, int dev, u32 reg, u16 mask, u16 set); +int xpcs_read_vendor(struct dw_xpcs *xpcs, int dev, u32 reg); +int xpcs_write_vendor(struct dw_xpcs *xpcs, int dev, int reg, u16 val); int xpcs_read_vpcs(struct dw_xpcs *xpcs, int reg); int xpcs_write_vpcs(struct dw_xpcs *xpcs, int reg, u16 val); +int xpcs_poll_val(struct dw_xpcs *xpcs, int dev, int reg, u16 mask, u16 goal); +int xpcs_soft_reset(struct dw_xpcs *xpcs); +int xpcs_vendor_reset(struct dw_xpcs *xpcs); + int nxp_sja1105_sgmii_pma_config(struct dw_xpcs *xpcs); int nxp_sja1110_sgmii_pma_config(struct dw_xpcs *xpcs); int nxp_sja1110_2500basex_pma_config(struct dw_xpcs *xpcs); |
