Re: [PATCH] checkpatch: add IDR to the deprecated list
From: dan.j.williams
Date: Fri Oct 31 2025 - 14:53:53 EST
Carlos López wrote:
> As of commit 85656ec193e9, the IDR interface is marked as deprecated
> in the documentation, but no checks are made in that regard for new
> code. Add the existing IDR initialization APIs to the deprecated list
> in checkpatch, so that if new code is introduced using these APIs, a
> warning is emitted.
>
> Suggested-by: Dan Williams <dan.j.williams@xxxxxxxxx>
> Signed-off-by: Carlos López <clopez@xxxxxxx>
> ---
> scripts/checkpatch.pl | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index 92669904eecc..bc72fa66c0ef 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -860,6 +860,10 @@ our %deprecated_apis = (
> "kunmap" => "kunmap_local",
> "kmap_atomic" => "kmap_local_page",
> "kunmap_atomic" => "kunmap_local",
> + #These should be enough to drive away new IDR users
> + "DEFINE_IDR" => "DEFINE_XARRAY",
> + "idr_init" => "xa_init",
> + "idr_init_base" => "xa_init_flags"
> );
Thanks! Works for me:
WARNING: Deprecated use of 'DEFINE_IDR', prefer 'DEFINE_XARRAY' instead
#111: FILE: drivers/virt/coco/tsm-core.c:15:
+static DEFINE_IDR(tsm_idr);
Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx>