linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Subject: [PATCH 16/16] driver-core: remove struct bus_type.dev_attrs
Date: Tue,  6 Jun 2017 21:22:21 +0200	[thread overview]
Message-ID: <20170606192221.1617-17-gregkh@linuxfoundation.org> (raw)
In-Reply-To: <20170606192221.1617-1-gregkh@linuxfoundation.org>

Now that all in-kernel users of bus_type.dev_attrs have been converted
to use dev_groups instead, the dev_attrs field, and logic surrounding
it, can be removed.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/base/bus.c     | 37 +------------------------------------
 include/linux/device.h |  2 --
 2 files changed, 1 insertion(+), 38 deletions(-)

diff --git a/drivers/base/bus.c b/drivers/base/bus.c
index 6470eb8088f4..66efc4b806c2 100644
--- a/drivers/base/bus.c
+++ b/drivers/base/bus.c
@@ -466,35 +466,6 @@ int bus_for_each_drv(struct bus_type *bus, struct device_driver *start,
 }
 EXPORT_SYMBOL_GPL(bus_for_each_drv);
 
-static int device_add_attrs(struct bus_type *bus, struct device *dev)
-{
-	int error = 0;
-	int i;
-
-	if (!bus->dev_attrs)
-		return 0;
-
-	for (i = 0; bus->dev_attrs[i].attr.name; i++) {
-		error = device_create_file(dev, &bus->dev_attrs[i]);
-		if (error) {
-			while (--i >= 0)
-				device_remove_file(dev, &bus->dev_attrs[i]);
-			break;
-		}
-	}
-	return error;
-}
-
-static void device_remove_attrs(struct bus_type *bus, struct device *dev)
-{
-	int i;
-
-	if (bus->dev_attrs) {
-		for (i = 0; bus->dev_attrs[i].attr.name; i++)
-			device_remove_file(dev, &bus->dev_attrs[i]);
-	}
-}
-
 /**
  * bus_add_device - add device to bus
  * @dev: device being added
@@ -510,12 +481,9 @@ int bus_add_device(struct device *dev)
 
 	if (bus) {
 		pr_debug("bus: '%s': add device %s\n", bus->name, dev_name(dev));
-		error = device_add_attrs(bus, dev);
-		if (error)
-			goto out_put;
 		error = device_add_groups(dev, bus->dev_groups);
 		if (error)
-			goto out_id;
+			goto out_put;
 		error = sysfs_create_link(&bus->p->devices_kset->kobj,
 						&dev->kobj, dev_name(dev));
 		if (error)
@@ -532,8 +500,6 @@ int bus_add_device(struct device *dev)
 	sysfs_remove_link(&bus->p->devices_kset->kobj, dev_name(dev));
 out_groups:
 	device_remove_groups(dev, bus->dev_groups);
-out_id:
-	device_remove_attrs(bus, dev);
 out_put:
 	bus_put(dev->bus);
 	return error;
@@ -590,7 +556,6 @@ void bus_remove_device(struct device *dev)
 	sysfs_remove_link(&dev->kobj, "subsystem");
 	sysfs_remove_link(&dev->bus->p->devices_kset->kobj,
 			  dev_name(dev));
-	device_remove_attrs(dev->bus, dev);
 	device_remove_groups(dev, dev->bus->dev_groups);
 	if (klist_node_attached(&dev->p->knode_bus))
 		klist_del(&dev->p->knode_bus);
diff --git a/include/linux/device.h b/include/linux/device.h
index 9ef518af5515..a04860932ceb 100644
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -66,7 +66,6 @@ extern void bus_remove_file(struct bus_type *, struct bus_attribute *);
  * @name:	The name of the bus.
  * @dev_name:	Used for subsystems to enumerate devices like ("foo%u", dev->id).
  * @dev_root:	Default device to use as the parent.
- * @dev_attrs:	Default attributes of the devices on the bus.
  * @bus_groups:	Default attributes of the bus.
  * @dev_groups:	Default attributes of the devices on the bus.
  * @drv_groups: Default attributes of the device drivers on the bus.
@@ -112,7 +111,6 @@ struct bus_type {
 	const char		*name;
 	const char		*dev_name;
 	struct device		*dev_root;
-	struct device_attribute	*dev_attrs;	/* use dev_groups instead */
 	const struct attribute_group **bus_groups;
 	const struct attribute_group **dev_groups;
 	const struct attribute_group **drv_groups;
-- 
2.13.0

      parent reply	other threads:[~2017-06-06 19:24 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-06 19:22 [PATCH 00/16] Driver core: remove bus_type.dev_attrs Greg Kroah-Hartman
2017-06-06 19:22 ` [PATCH 01/16] arm: ecard: use dev_groups and not dev_attrs for bus_type Greg Kroah-Hartman
2017-06-06 19:22 ` [PATCH 02/16] mips: sgi-ip22: " Greg Kroah-Hartman
2017-06-06 19:22 ` [PATCH 03/16] parisc: parisc_bus_type: " Greg Kroah-Hartman
2017-06-06 19:22 ` [PATCH 04/16] amba: " Greg Kroah-Hartman
2017-06-06 19:22 ` [PATCH 05/16] rpmsg: " Greg Kroah-Hartman
2017-06-06 19:33   ` Bjorn Andersson
2017-06-06 19:22 ` [PATCH 06/16] sh: superhyway: " Greg Kroah-Hartman
2017-06-06 19:22 ` [PATCH 07/16] macintosh: " Greg Kroah-Hartman
2017-06-06 19:22 ` [PATCH 08/16] powerpc: ps3: " Greg Kroah-Hartman
2017-06-06 21:33   ` Geoff Levand
2017-06-07 10:17   ` Greg Kroah-Hartman
2017-06-06 19:22 ` [PATCH 09/16] powerpc: ibmebus: " Greg Kroah-Hartman
2017-06-06 19:22 ` [PATCH 10/16] powerpc: vio: " Greg Kroah-Hartman
2017-06-06 19:30   ` Greg Kroah-Hartman
2017-06-06 23:04     ` Benjamin Herrenschmidt
2017-06-07  5:45       ` Greg Kroah-Hartman
2017-06-07  5:56         ` Benjamin Herrenschmidt
2017-06-07  8:58     ` [PATCH 10/16 v2] " Greg Kroah-Hartman
2017-06-06 19:22 ` [PATCH 11/16] powerpc: vio_cmo: " Greg Kroah-Hartman
2017-06-08 13:12   ` Michael Ellerman
2017-06-08 13:39     ` Greg Kroah-Hartman
2017-06-08 22:53       ` Michael Ellerman
2017-06-09  5:44         ` Greg Kroah-Hartman
2017-06-09 11:23           ` Michael Ellerman
2017-06-10 12:48             ` Greg Kroah-Hartman
2017-06-12  6:58             ` Greg Kroah-Hartman
2017-06-13 10:09               ` Michael Ellerman
2017-06-06 19:22 ` [PATCH 12/16] hwtracing: intel_th: " Greg Kroah-Hartman
2017-06-06 19:22 ` [PATCH 13/16] hid: intel-ish-hid: " Greg Kroah-Hartman
2017-06-06 22:33   ` Srinivas Pandruvada
2017-06-07 13:40   ` Jiri Kosina
2017-06-06 19:22 ` [PATCH 14/16] sparc: vio: " Greg Kroah-Hartman
2017-06-06 19:36   ` David Miller
2017-06-06 19:22 ` [PATCH 15/16] tty: serdev: " Greg Kroah-Hartman
2017-06-09 23:56   ` Stephen Rothwell
2017-06-10  0:01     ` Stephen Rothwell
2017-06-10 11:58       ` Greg Kroah-Hartman
2017-06-06 19:22 ` Greg Kroah-Hartman [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170606192221.1617-17-gregkh@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).