Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c7334ce8 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Revert "driver core: Add deferred_probe attribute to devices in sysfs"



This reverts commit 6751667a.

Rob Herring objected to it, and a replacement for it will be added using
debugfs in the future.

Cc: Ben Hutchings <ben.hutchings@codethink.co.uk>
Reported-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent a121103c
Loading
Loading
Loading
Loading
+0 −12
Original line number Diff line number Diff line
What:		/sys/devices/.../deferred_probe
Date:		August 2016
Contact:	Ben Hutchings <ben.hutchings@codethink.co.uk>
Description:
		The /sys/devices/.../deferred_probe attribute is
		present for all devices.  If a driver detects during
		probing a device that a related device is not yet
		ready, it may defer probing of the first device.  The
		kernel will retry probing the first device after any
		other device is successfully probed.  This attribute
		reads as 1 if probing of this device is currently
		deferred, or 0 otherwise.
+0 −2
Original line number Diff line number Diff line
@@ -141,8 +141,6 @@ extern void device_unblock_probing(void);
extern struct kset *devices_kset;
extern void devices_kset_move_last(struct device *dev);

extern struct device_attribute dev_attr_deferred_probe;

#if defined(CONFIG_MODULES) && defined(CONFIG_SYSFS)
extern void module_add_driver(struct module *mod, struct device_driver *drv);
extern void module_remove_driver(struct device_driver *drv);
+0 −7
Original line number Diff line number Diff line
@@ -1060,14 +1060,8 @@ static int device_add_attrs(struct device *dev)
			goto err_remove_dev_groups;
	}

	error = device_create_file(dev, &dev_attr_deferred_probe);
	if (error)
		goto err_remove_online;

	return 0;

 err_remove_online:
	device_remove_file(dev, &dev_attr_online);
 err_remove_dev_groups:
	device_remove_groups(dev, dev->groups);
 err_remove_type_groups:
@@ -1085,7 +1079,6 @@ static void device_remove_attrs(struct device *dev)
	struct class *class = dev->class;
	const struct device_type *type = dev->type;

	device_remove_file(dev, &dev_attr_deferred_probe);
	device_remove_file(dev, &dev_attr_online);
	device_remove_groups(dev, dev->groups);

+0 −13
Original line number Diff line number Diff line
@@ -53,19 +53,6 @@ static LIST_HEAD(deferred_probe_pending_list);
static LIST_HEAD(deferred_probe_active_list);
static atomic_t deferred_trigger_count = ATOMIC_INIT(0);

static ssize_t deferred_probe_show(struct device *dev,
				   struct device_attribute *attr, char *buf)
{
	bool value;

	mutex_lock(&deferred_probe_mutex);
	value = !list_empty(&dev->p->deferred_probe);
	mutex_unlock(&deferred_probe_mutex);

	return sprintf(buf, "%d\n", value);
}
DEVICE_ATTR_RO(deferred_probe);

/*
 * In some cases, like suspend to RAM or hibernation, It might be reasonable
 * to prohibit probing of devices as it could be unsafe.