On 5/18/26 8:21 AM, Dmitry Ilvokhin wrote: > The nvdimm_bus guard accepts NULL and skips locking when NULL is passed. > Convert from DEFINE_GUARD() to DEFINE_CLASS() + DEFINE_CLASS_IS_GUARD(). > > This is a preparatory change for making DEFINE_GUARD() constructors > __nonnull(). nvdimm_bus legitimately passes NULL, so it must be adjusted > to avoid a compile error. > > No functional change. > > Signed-off-by: Dmitry Ilvokhin <[email protected]> Reviewed-by: Dave Jiang <[email protected]> > --- > drivers/nvdimm/nd.h | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/drivers/nvdimm/nd.h b/drivers/nvdimm/nd.h > index b199eea3260e..18b64559664b 100644 > --- a/drivers/nvdimm/nd.h > +++ b/drivers/nvdimm/nd.h > @@ -632,8 +632,11 @@ u64 nd_region_interleave_set_cookie(struct nd_region > *nd_region, > u64 nd_region_interleave_set_altcookie(struct nd_region *nd_region); > void nvdimm_bus_lock(struct device *dev); > void nvdimm_bus_unlock(struct device *dev); > -DEFINE_GUARD(nvdimm_bus, struct device *, > - if (_T) nvdimm_bus_lock(_T), if (_T) nvdimm_bus_unlock(_T)); > +DEFINE_CLASS(nvdimm_bus, struct device *, > + if (_T) nvdimm_bus_unlock(_T), > + ({ if (_T) nvdimm_bus_lock(_T); _T; }), > + struct device *_T); > +DEFINE_CLASS_IS_GUARD(nvdimm_bus); > > bool is_nvdimm_bus_locked(struct device *dev); > void nvdimm_check_and_set_ro(struct gendisk *disk);
