scripts/checkpatch.pl | 4 ++++ 1 file changed, 4 insertions(+)
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@intel.com>
Signed-off-by: Carlos López <clopez@suse.de>
---
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"
);
#Create a search pattern for all these strings to speed up a loop below
--
2.51.0
On Fri, 2025-10-31 at 12:19 +0100, 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@intel.com> > Signed-off-by: Carlos López <clopez@suse.de> > --- > 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" > ); > > #Create a search pattern for all these strings to speed up a loop below Acked-by: Joe Perches <joe@perches.com>
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@intel.com> > Signed-off-by: Carlos López <clopez@suse.de> > --- > 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@intel.com>
© 2016 - 2026 Red Hat, Inc.