Message ID | 20230329060127.2688492-1-gregkh@linuxfoundation.org (mailing list archive) |
---|---|
State | Not Applicable |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | mISDN: remove unneeded mISDN_class_release() | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Not a local patch |
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 >
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
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.
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>
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
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
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(-)