summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Stockhausen2025-05-02 14:17:11 +0000
committerStijn Tintel2025-05-12 13:09:19 +0000
commit0c9e91a60c9eb6120053a2148d67c2cd71d6fc06 (patch)
treeb281010edc3777c355cba188a57f3258bf739b45
parent10519db5798bee4ef6134e36854712db010b9d35 (diff)
downloadopenwrt-0c9e91a60c9eb6120053a2148d67c2cd71d6fc06.tar.gz
realtek: move private bus structure closer to the bus
Relocate the bus structure definition into the MDIO source code area of the ethernet driver. So if the real bus driver is forked from the rest of the code only one area needs to be removed. Rename it to make clear it belongs to the bus. Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de> Link: https://github.com/openwrt/openwrt/pull/18402 Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
-rw-r--r--target/linux/realtek/files-6.6/drivers/net/ethernet/rtl838x_eth.c30
-rw-r--r--target/linux/realtek/files-6.6/drivers/net/ethernet/rtl838x_eth.h12
2 files changed, 21 insertions, 21 deletions
diff --git a/target/linux/realtek/files-6.6/drivers/net/ethernet/rtl838x_eth.c b/target/linux/realtek/files-6.6/drivers/net/ethernet/rtl838x_eth.c
index 557df76593..d9c689d8cc 100644
--- a/target/linux/realtek/files-6.6/drivers/net/ethernet/rtl838x_eth.c
+++ b/target/linux/realtek/files-6.6/drivers/net/ethernet/rtl838x_eth.c
@@ -1707,6 +1707,18 @@ static int rtl838x_set_link_ksettings(struct net_device *ndev,
* reimplemented. For now it should be sufficient.
*/
+struct rtmdio_bus_priv {
+ struct rtl838x_eth_priv *eth_priv;
+ int extaddr;
+ int rawpage;
+ int page[64];
+ bool raw[64];
+ int (*read_mmd_phy)(u32 port, u32 addr, u32 reg, u32 *val);
+ int (*write_mmd_phy)(u32 port, u32 addr, u32 reg, u32 val);
+ int (*read_phy)(u32 port, u32 page, u32 reg, u32 *val);
+ int (*write_phy)(u32 port, u32 page, u32 reg, u32 val);
+};
+
/*
* Provide a generic read/write function so we can access arbitrary ports on the bus.
* E.g. other ports of a PHY package on the bus. This basically resembles the kernel
@@ -1803,7 +1815,7 @@ int phy_port_read_paged(struct phy_device *phydev, int port, int page, u32 regnu
static int rtmdio_read_c45(struct mii_bus *bus, int addr, int devnum, int regnum)
{
int err, val;
- struct rtl838x_bus_priv *bus_priv = bus->priv;
+ struct rtmdio_bus_priv *bus_priv = bus->priv;
if (bus_priv->extaddr >= 0)
addr = bus_priv->extaddr;
@@ -1817,7 +1829,7 @@ static int rtmdio_read_c45(struct mii_bus *bus, int addr, int devnum, int regnum
static int rtmdio_83xx_read(struct mii_bus *bus, int addr, int regnum)
{
int err, val;
- struct rtl838x_bus_priv *bus_priv = bus->priv;
+ struct rtmdio_bus_priv *bus_priv = bus->priv;
struct rtl838x_eth_priv *eth_priv = bus_priv->eth_priv;
if (bus_priv->extaddr >= 0)
@@ -1842,7 +1854,7 @@ static int rtmdio_83xx_read(struct mii_bus *bus, int addr, int regnum)
static int rtmdio_93xx_read(struct mii_bus *bus, int addr, int regnum)
{
int err, val;
- struct rtl838x_bus_priv *bus_priv = bus->priv;
+ struct rtmdio_bus_priv *bus_priv = bus->priv;
struct rtl838x_eth_priv *eth_priv = bus_priv->eth_priv;
if (bus_priv->extaddr >= 0)
@@ -1870,7 +1882,7 @@ static int rtmdio_93xx_read(struct mii_bus *bus, int addr, int regnum)
static int rtmdio_write_c45(struct mii_bus *bus, int addr, int devnum, int regnum, u16 val)
{
int err;
- struct rtl838x_bus_priv *bus_priv = bus->priv;
+ struct rtmdio_bus_priv *bus_priv = bus->priv;
if (bus_priv->extaddr >= 0)
addr = bus_priv->extaddr;
@@ -1884,7 +1896,7 @@ static int rtmdio_write_c45(struct mii_bus *bus, int addr, int devnum, int regnu
static int rtmdio_83xx_write(struct mii_bus *bus, int addr, int regnum, u16 val)
{
int err, page, offset = 0;
- struct rtl838x_bus_priv *bus_priv = bus->priv;
+ struct rtmdio_bus_priv *bus_priv = bus->priv;
struct rtl838x_eth_priv *eth_priv = bus_priv->eth_priv;
if (regnum == RTMDIO_PORT_SELECT) {
@@ -1924,7 +1936,7 @@ static int rtmdio_83xx_write(struct mii_bus *bus, int addr, int regnum, u16 val)
static int rtmdio_93xx_write(struct mii_bus *bus, int addr, int regnum, u16 val)
{
int err, page;
- struct rtl838x_bus_priv *bus_priv = bus->priv;
+ struct rtmdio_bus_priv *bus_priv = bus->priv;
struct rtl838x_eth_priv *eth_priv = bus_priv->eth_priv;
if (regnum == RTMDIO_PORT_SELECT) {
@@ -1993,7 +2005,7 @@ u8 mac_type_bit[RTL930X_CPU_PORT] = {0, 0, 0, 0, 2, 2, 2, 2, 4, 4, 4, 4, 6, 6, 6
static int rtmdio_930x_reset(struct mii_bus *bus)
{
- struct rtl838x_bus_priv *bus_priv = bus->priv;
+ struct rtmdio_bus_priv *bus_priv = bus->priv;
struct rtl838x_eth_priv *priv = bus_priv->eth_priv;
u32 c45_mask = 0;
u32 poll_sel[2];
@@ -2099,7 +2111,7 @@ static int rtmdio_930x_reset(struct mii_bus *bus)
static int rtmdio_931x_reset(struct mii_bus *bus)
{
- struct rtl838x_bus_priv *bus_priv = bus->priv;
+ struct rtmdio_bus_priv *bus_priv = bus->priv;
struct rtl838x_eth_priv *priv = bus_priv->eth_priv;
u32 c45_mask = 0;
u32 poll_sel[4];
@@ -2199,7 +2211,7 @@ static int rtl931x_chip_init(struct rtl838x_eth_priv *priv)
static int rtl838x_mdio_init(struct rtl838x_eth_priv *priv)
{
struct device_node *mii_np, *dn;
- struct rtl838x_bus_priv *bus_priv;
+ struct rtmdio_bus_priv *bus_priv;
u32 pn;
int i, ret;
diff --git a/target/linux/realtek/files-6.6/drivers/net/ethernet/rtl838x_eth.h b/target/linux/realtek/files-6.6/drivers/net/ethernet/rtl838x_eth.h
index d6d88fc2ed..47ed286aa4 100644
--- a/target/linux/realtek/files-6.6/drivers/net/ethernet/rtl838x_eth.h
+++ b/target/linux/realtek/files-6.6/drivers/net/ethernet/rtl838x_eth.h
@@ -408,18 +408,6 @@ inline u32 rtl931x_get_mac_tx_pause_sts(int p)
struct p_hdr;
struct dsa_tag;
-struct rtl838x_bus_priv {
- struct rtl838x_eth_priv *eth_priv;
- int extaddr;
- int rawpage;
- int page[64];
- bool raw[64];
- int (*read_mmd_phy)(u32 port, u32 addr, u32 reg, u32 *val);
- int (*write_mmd_phy)(u32 port, u32 addr, u32 reg, u32 val);
- int (*read_phy)(u32 port, u32 page, u32 reg, u32 *val);
- int (*write_phy)(u32 port, u32 page, u32 reg, u32 val);
-};
-
struct rtl838x_eth_reg {
irqreturn_t (*net_irq)(int irq, void *dev_id);
int (*mac_port_ctrl)(int port);