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);


Reply via email to