Re: [RFC PATCH net-next 1/7] net: phy: introduce phy numbering and phy namespaces
From: Maxime Chevallier <maxime.chevallier@bootlin.com>
Date: 2023-09-11 22:06:47
Also in:
lkml
From: Maxime Chevallier <maxime.chevallier@bootlin.com>
Date: 2023-09-11 22:06:47
Also in:
lkml
Hello Jakub, On Fri, 8 Sep 2023 08:36:08 -0700 Jakub Kicinski [off-list ref] wrote:
On Thu, 7 Sep 2023 14:19:04 +0200 Maxime Chevallier wrote:quoted
quoted
I think you can simplify this code quite a bit by using idr. idr_alloc_cyclic() looks like it will do the allocation you want, plus the IDR subsystem will store the pointer to the object (in this case the phy device) and allow you to look that up. That probably gets rid of quite a bit of code. You will need to handle the locking around IDR however.Oh thanks for pointing this out. I had considered idr but I didn't spot the _cyclic() helper, and I had ruled that out thinking it would re-use ids directly after freeing them. I'll be more than happy to use that.Perhaps use xarray directly, I don't think we need the @base offset or quick access to @next which AFAICT is the only reason one would prefer IDR?
Oh indeed xa_alloc_cyclic looks to fit perfectly, thanks ! Maxime