[1/2] driver core: remove devm_device_remove_groups()

Message ID 20221109140711.105222-1-gregkh@linuxfoundation.org
State New
Headers
Series [1/2] driver core: remove devm_device_remove_groups() |

Commit Message

Greg KH Nov. 9, 2022, 2:07 p.m. UTC
  There is no in-kernel user of this function, so it is not needed anymore
and can be removed.

Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: "Rafael J. Wysocki" <rafael@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/base/core.c    | 17 -----------------
 include/linux/device.h |  2 --
 2 files changed, 19 deletions(-)
  

Comments

Rafael J. Wysocki Nov. 9, 2022, 2:11 p.m. UTC | #1
On Wed, Nov 9, 2022 at 3:07 PM Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
>
> There is no in-kernel user of this function, so it is not needed anymore
> and can be removed.
>
> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> Cc: "Rafael J. Wysocki" <rafael@kernel.org>
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

For both patches in the series:

Reviewed-by: Rafael J. Wysocki <rafael@kernel.org>

> ---
>  drivers/base/core.c    | 17 -----------------
>  include/linux/device.h |  2 --
>  2 files changed, 19 deletions(-)
>
> diff --git a/drivers/base/core.c b/drivers/base/core.c
> index d02501933467..6137de5073b1 100644
> --- a/drivers/base/core.c
> +++ b/drivers/base/core.c
> @@ -2693,23 +2693,6 @@ int devm_device_add_groups(struct device *dev,
>  }
>  EXPORT_SYMBOL_GPL(devm_device_add_groups);
>
> -/**
> - * devm_device_remove_groups - remove a list of managed groups
> - *
> - * @dev:       The device for the groups to be removed from
> - * @groups:    NULL terminated list of groups to be removed
> - *
> - * If groups is not NULL, remove the specified groups from the device.
> - */
> -void devm_device_remove_groups(struct device *dev,
> -                              const struct attribute_group **groups)
> -{
> -       WARN_ON(devres_release(dev, devm_attr_groups_remove,
> -                              devm_attr_group_match,
> -                              /* cast away const */ (void *)groups));
> -}
> -EXPORT_SYMBOL_GPL(devm_device_remove_groups);
> -
>  static int device_add_attrs(struct device *dev)
>  {
>         struct class *class = dev->class;
> diff --git a/include/linux/device.h b/include/linux/device.h
> index 023ea50b1916..4efc607c008c 100644
> --- a/include/linux/device.h
> +++ b/include/linux/device.h
> @@ -1062,8 +1062,6 @@ static inline void device_remove_group(struct device *dev,
>
>  int __must_check devm_device_add_groups(struct device *dev,
>                                         const struct attribute_group **groups);
> -void devm_device_remove_groups(struct device *dev,
> -                              const struct attribute_group **groups);
>  int __must_check devm_device_add_group(struct device *dev,
>                                        const struct attribute_group *grp);
>  void devm_device_remove_group(struct device *dev,
> --
> 2.38.1
>
  
Dmitry Torokhov Nov. 9, 2022, 9:10 p.m. UTC | #2
On Wed, Nov 09, 2022 at 03:11:47PM +0100, Rafael J. Wysocki wrote:
> On Wed, Nov 9, 2022 at 3:07 PM Greg Kroah-Hartman
> <gregkh@linuxfoundation.org> wrote:
> >
> > There is no in-kernel user of this function, so it is not needed anymore
> > and can be removed.
> >
> > Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> > Cc: "Rafael J. Wysocki" <rafael@kernel.org>
> > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> 
> For both patches in the series:
> 
> Reviewed-by: Rafael J. Wysocki <rafael@kernel.org>

I find it really weird to have an asymmetric core API...

Thanks.
  
Greg KH Nov. 10, 2022, 9:34 a.m. UTC | #3
On Wed, Nov 09, 2022 at 01:10:59PM -0800, Dmitry Torokhov wrote:
> On Wed, Nov 09, 2022 at 03:11:47PM +0100, Rafael J. Wysocki wrote:
> > On Wed, Nov 9, 2022 at 3:07 PM Greg Kroah-Hartman
> > <gregkh@linuxfoundation.org> wrote:
> > >
> > > There is no in-kernel user of this function, so it is not needed anymore
> > > and can be removed.
> > >
> > > Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> > > Cc: "Rafael J. Wysocki" <rafael@kernel.org>
> > > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> > 
> > For both patches in the series:
> > 
> > Reviewed-by: Rafael J. Wysocki <rafael@kernel.org>
> 
> I find it really weird to have an asymmetric core API...

I'm working on fixing up that asymmetric-ness.  We have only one user of
devm_device_add_groups() and only a handful of devm_device_add_group()
left in the tree.

But it turns out that no one ever called these functions anyway, so they
aren't needed even if we did keep the "add" functions.  So they should
be dropped no matter what.

thanks,

greg k-h
  
Rafael J. Wysocki Nov. 10, 2022, 1:07 p.m. UTC | #4
On Thu, Nov 10, 2022 at 10:34 AM Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
>
> On Wed, Nov 09, 2022 at 01:10:59PM -0800, Dmitry Torokhov wrote:
> > On Wed, Nov 09, 2022 at 03:11:47PM +0100, Rafael J. Wysocki wrote:
> > > On Wed, Nov 9, 2022 at 3:07 PM Greg Kroah-Hartman
> > > <gregkh@linuxfoundation.org> wrote:
> > > >
> > > > There is no in-kernel user of this function, so it is not needed anymore
> > > > and can be removed.
> > > >
> > > > Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> > > > Cc: "Rafael J. Wysocki" <rafael@kernel.org>
> > > > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> > >
> > > For both patches in the series:
> > >
> > > Reviewed-by: Rafael J. Wysocki <rafael@kernel.org>
> >
> > I find it really weird to have an asymmetric core API...
>
> I'm working on fixing up that asymmetric-ness.  We have only one user of
> devm_device_add_groups() and only a handful of devm_device_add_group()
> left in the tree.
>
> But it turns out that no one ever called these functions anyway, so they
> aren't needed even if we did keep the "add" functions.  So they should
> be dropped no matter what.

Totally agreed.
  
Dmitry Torokhov Nov. 10, 2022, 5:14 p.m. UTC | #5
On Thu, Nov 10, 2022 at 02:07:51PM +0100, Rafael J. Wysocki wrote:
> On Thu, Nov 10, 2022 at 10:34 AM Greg Kroah-Hartman
> <gregkh@linuxfoundation.org> wrote:
> >
> > On Wed, Nov 09, 2022 at 01:10:59PM -0800, Dmitry Torokhov wrote:
> > > On Wed, Nov 09, 2022 at 03:11:47PM +0100, Rafael J. Wysocki wrote:
> > > > On Wed, Nov 9, 2022 at 3:07 PM Greg Kroah-Hartman
> > > > <gregkh@linuxfoundation.org> wrote:
> > > > >
> > > > > There is no in-kernel user of this function, so it is not needed anymore
> > > > > and can be removed.
> > > > >
> > > > > Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> > > > > Cc: "Rafael J. Wysocki" <rafael@kernel.org>
> > > > > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> > > >
> > > > For both patches in the series:
> > > >
> > > > Reviewed-by: Rafael J. Wysocki <rafael@kernel.org>
> > >
> > > I find it really weird to have an asymmetric core API...
> >
> > I'm working on fixing up that asymmetric-ness.  We have only one user of
> > devm_device_add_groups() and only a handful of devm_device_add_group()
> > left in the tree.
> >
> > But it turns out that no one ever called these functions anyway, so they
> > aren't needed even if we did keep the "add" functions.  So they should
> > be dropped no matter what.
> 
> Totally agreed.

OK, fair enough.

Thanks.
  

Patch

diff --git a/drivers/base/core.c b/drivers/base/core.c
index d02501933467..6137de5073b1 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -2693,23 +2693,6 @@  int devm_device_add_groups(struct device *dev,
 }
 EXPORT_SYMBOL_GPL(devm_device_add_groups);
 
-/**
- * devm_device_remove_groups - remove a list of managed groups
- *
- * @dev:	The device for the groups to be removed from
- * @groups:	NULL terminated list of groups to be removed
- *
- * If groups is not NULL, remove the specified groups from the device.
- */
-void devm_device_remove_groups(struct device *dev,
-			       const struct attribute_group **groups)
-{
-	WARN_ON(devres_release(dev, devm_attr_groups_remove,
-			       devm_attr_group_match,
-			       /* cast away const */ (void *)groups));
-}
-EXPORT_SYMBOL_GPL(devm_device_remove_groups);
-
 static int device_add_attrs(struct device *dev)
 {
 	struct class *class = dev->class;
diff --git a/include/linux/device.h b/include/linux/device.h
index 023ea50b1916..4efc607c008c 100644
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -1062,8 +1062,6 @@  static inline void device_remove_group(struct device *dev,
 
 int __must_check devm_device_add_groups(struct device *dev,
 					const struct attribute_group **groups);
-void devm_device_remove_groups(struct device *dev,
-			       const struct attribute_group **groups);
 int __must_check devm_device_add_group(struct device *dev,
 				       const struct attribute_group *grp);
 void devm_device_remove_group(struct device *dev,