mISDN: remove unneeded mISDN_class_release()

Message ID 20230329060127.2688492-1-gregkh@linuxfoundation.org
State New
Headers
Series mISDN: remove unneeded mISDN_class_release() |

Commit Message

Greg KH March 29, 2023, 6:01 a.m. UTC
  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 <isdn@linux-pingi.de>
Cc: netdev@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
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(-)
  

Comments

Simon Horman March 29, 2023, 7:39 p.m. UTC | #1
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 <isdn@linux-pingi.de>
> Cc: netdev@vger.kernel.org
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> ---
> 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 <simon.horman@corigine.com>

> 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
>
  
Greg KH March 30, 2023, 6:01 a.m. UTC | #2
On Wed, Mar 29, 2023 at 09:39:30PM +0200, Simon Horman wrote:
> 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 <isdn@linux-pingi.de>
> > Cc: netdev@vger.kernel.org
> > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> > ---
> > 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 :)

Yes, I am :)

I need to remove that debug line soon as I'm moving all struct class
instances to be static and in read-only memory, which would mean that no
release function is needed at all for them.  Give me a few hundred more
commits to get there...

thanks for the review!

greg k-h
  
Simon Horman March 30, 2023, 7:19 a.m. UTC | #3
On Thu, Mar 30, 2023 at 08:01:07AM +0200, Greg Kroah-Hartman wrote:
> On Wed, Mar 29, 2023 at 09:39:30PM +0200, Simon Horman wrote:
> > 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 <isdn@linux-pingi.de>
> > > Cc: netdev@vger.kernel.org
> > > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> > > ---
> > > 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 :)
> 
> Yes, I am :)
> 
> I need to remove that debug line soon as I'm moving all struct class
> instances to be static and in read-only memory, which would mean that no
> release function is needed at all for them.  Give me a few hundred more
> commits to get there...

Excellent, good luck with your journey of a few hundred patches.
  
Jakub Kicinski March 31, 2023, 6:17 a.m. UTC | #4
On Wed, 29 Mar 2023 08:01:27 +0200 Greg Kroah-Hartman wrote:
> 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.

It must be on top of .owner removal? Cause it doesn't apply for us:

Acked-by: Jakub Kicinski <kuba@kernel.org>
  
Greg KH March 31, 2023, 7:04 a.m. UTC | #5
On Thu, Mar 30, 2023 at 11:17:39PM -0700, Jakub Kicinski wrote:
> On Wed, 29 Mar 2023 08:01:27 +0200 Greg Kroah-Hartman wrote:
> > 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.
> 
> It must be on top of .owner removal? Cause it doesn't apply for us:
> 
> Acked-by: Jakub Kicinski <kuba@kernel.org>

Ah, yeah, it is, that's in my tree already.

thanks for the ack!

greg k-h
  

Patch

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