]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
realtek: ethernet: drop devm_request_mem_region()
authorMarkus Stockhausen <markus.stockhausen@gmx.de>
Tue, 16 Dec 2025 12:28:56 +0000 (13:28 +0100)
committerHauke Mehrtens <hauke@hauke-m.de>
Tue, 23 Dec 2025 16:59:11 +0000 (17:59 +0100)
The ethernet driver currently "requests" the memory region of the
ethernet device according to the DTS settings. This is wrong in
two ways:

- The DTS uses arbitrary regions out of the switchcore memory
- The variable is afterwards overwritten by DMA allocation

Drop it.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21183
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
target/linux/realtek/files-6.12/drivers/net/ethernet/rtl838x_eth.c

index b30c74b5d6a7a0512b0529aef9297b4304d5bc31..eb110840e8e34818ef59fd4c65a03b38df961ed1 100644 (file)
@@ -1647,7 +1647,6 @@ static int __init rtl838x_eth_probe(struct platform_device *pdev)
        struct net_device *dev;
        struct device_node *dn = pdev->dev.of_node;
        struct rtl838x_eth_priv *priv;
-       struct resource *res, *mem;
        phy_interface_t phy_mode;
        struct phylink *phylink;
        u8 mac_addr[ETH_ALEN];
@@ -1674,23 +1673,6 @@ static int __init rtl838x_eth_probe(struct platform_device *pdev)
        SET_NETDEV_DEV(dev, &pdev->dev);
        priv = netdev_priv(dev);
 
-       /* obtain buffer memory space */
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       if (res) {
-               mem = devm_request_mem_region(&pdev->dev, res->start,
-                                             resource_size(res), res->name);
-               if (!mem) {
-                       dev_err(&pdev->dev, "cannot request memory space\n");
-                       return -ENXIO;
-               }
-
-               dev->mem_start = mem->start;
-               dev->mem_end   = mem->end;
-       } else {
-               dev_err(&pdev->dev, "cannot request IO resource\n");
-               return -ENXIO;
-       }
-
        /* Allocate buffer memory */
        priv->membase = dmam_alloc_coherent(&pdev->dev, rxrings * rxringlen * RING_BUFFER +
                                            sizeof(struct ring_b) + sizeof(struct notify_b),