Subject: Re: [PATCH] mISDN: remove unneeded mISDN_class_release()

From: Simon Horman <[email-masked]>
Date: Wed, 29 Mar 2023 21:39:30 +0200

On Wed, Mar 29, 2023 at 08:01:27AM +0200, Greg Kroah-Hartman wrote:
> The mISDN_class_release() is not needed at all, as the class structure
> is static, and it does not actually do anything either, so it is safe to
> remove as struct class does not require a release callback.
> 
> Cc: Karsten Keil <[email-masked]>
> Cc: [email-masked]
> Signed-off-by: Greg Kroah-Hartman <[email-masked]>
> ---
> Note: I would like to take this through the driver-core tree as I have
> later struct class cleanups that depend on this change being made to the
> tree if that's ok with the maintainer of this file.
> 
>  drivers/isdn/mISDN/core.c | 6 ------
>  1 file changed, 6 deletions(-)

I assume this will hit the following in drivers/base/class.c:class_release():

        if (class->class_release)
                class->class_release(class);
        else
		pr_debug("class '%s' does not have a release() function, "
		"be careful\n", class->name);

So I also assume that you are being careful :)

Reviewed-by: Simon Horman <[email-masked]>

> diff --git a/drivers/isdn/mISDN/core.c b/drivers/isdn/mISDN/core.c
> index f5989c9907ee..ab8513a7acd5 100644
> --- a/drivers/isdn/mISDN/core.c
> +++ b/drivers/isdn/mISDN/core.c
> @@ -152,17 +152,11 @@ static int mISDN_uevent(const struct device *dev, struct kobj_uevent_env *env)
>  	return 0;
>  }
>  
> -static void mISDN_class_release(struct class *cls)
> -{
> -	/* do nothing, it's static */
> -}
> -
>  static struct class mISDN_class = {
>  	.name = "mISDN",
>  	.dev_uevent = mISDN_uevent,
>  	.dev_groups = mISDN_groups,
>  	.dev_release = mISDN_dev_release,
> -	.class_release = mISDN_class_release,
>  };
>  
>  static int
> -- 
> 2.40.0
>