Thread (6 messages) 6 messages, 5 authors, 2024-11-17

Re: [PATCHv2 net-next] net: modernize ioremap in probe

From: Rosen Penev <hidden>
Date: 2024-11-14 21:37:40
Also in: linux-renesas-soc, lkml, netdev

On Thu, Nov 14, 2024 at 3:10 AM Horatiu Vultur
[off-list ref] wrote:
The 11/11/2024 12:02, Rosen Penev wrote:

Hi Rosen,
quoted
diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_main.c b/drivers/net/ethernet/microchip/lan966x/lan966x_main.c
index 3234a960fcc3..375e9a68b9a9 100644
--- a/drivers/net/ethernet/microchip/lan966x/lan966x_main.c
+++ b/drivers/net/ethernet/microchip/lan966x/lan966x_main.c
@@ -77,20 +77,12 @@ static int lan966x_create_targets(struct platform_device *pdev,
         * this.
         */
        for (idx = 0; idx < IO_RANGES; idx++) {
-               iores[idx] = platform_get_resource(pdev, IORESOURCE_MEM,
-                                                  idx);
-               if (!iores[idx]) {
-                       dev_err(&pdev->dev, "Invalid resource\n");
-                       return -EINVAL;
-               }
-
-               begin[idx] = devm_ioremap(&pdev->dev,
-                                         iores[idx]->start,
-                                         resource_size(iores[idx]));
-               if (!begin[idx]) {
+               begin[idx] = devm_platform_get_and_ioremap_resource(
+                       pdev, idx, &iores[idx]);
+               if (IS_ERR(begin[idx])) {
                        dev_err(&pdev->dev, "Unable to get registers: %s\n",
                                iores[idx]->name);
-                       return -ENOMEM;
+                       return PTR_ERR(begin[idx]);
                }
        }
Unfortunately, this breaks the lan966x probe. With this change I get the
following errors:
[    1.705315] lan966x-switch e0000000.switch: can't request region for resource [mem 0xe0000000-0xe00fffff]
[    1.714911] lan966x-switch e0000000.switch: Unable to get registers: cpu
[    1.721607] lan966x-switch e0000000.switch: error -EBUSY: Failed to create targets
[    1.729173] lan966x-switch: probe of e0000000.switch failed with error -16
Yes, also causes problems with another platform.

This commit should be abandoned.
--
/Horatiu
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help