net: phy: Directly use ida_alloc()/free()
authorKe Liu <liuke94@huawei.com>
Sat, 28 May 2022 04:54:37 +0000 (04:54 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 28 May 2022 11:40:09 +0000 (12:40 +0100)
Use ida_alloc()/ida_free() instead of deprecated
ida_simple_get()/ida_simple_remove().

Signed-off-by: Ke Liu <liuke94@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/fixed_phy.c

index c65fb5f..03abe62 100644 (file)
@@ -180,7 +180,7 @@ static void fixed_phy_del(int phy_addr)
                        if (fp->link_gpiod)
                                gpiod_put(fp->link_gpiod);
                        kfree(fp);
-                       ida_simple_remove(&phy_fixed_ida, phy_addr);
+                       ida_free(&phy_fixed_ida, phy_addr);
                        return;
                }
        }
@@ -244,13 +244,13 @@ static struct phy_device *__fixed_phy_register(unsigned int irq,
        }
 
        /* Get the next available PHY address, up to PHY_MAX_ADDR */
-       phy_addr = ida_simple_get(&phy_fixed_ida, 0, PHY_MAX_ADDR, GFP_KERNEL);
+       phy_addr = ida_alloc_max(&phy_fixed_ida, PHY_MAX_ADDR - 1, GFP_KERNEL);
        if (phy_addr < 0)
                return ERR_PTR(phy_addr);
 
        ret = fixed_phy_add_gpiod(irq, phy_addr, status, gpiod);
        if (ret < 0) {
-               ida_simple_remove(&phy_fixed_ida, phy_addr);
+               ida_free(&phy_fixed_ida, phy_addr);
                return ERR_PTR(ret);
        }