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

Commit cd35449b authored by Dave Young's avatar Dave Young Committed by Greg Kroah-Hartman
Browse files

driver core: convert to use class_find_device api



Convert to use class_find_device api in drivers/base/core.c

Signed-off-by: default avatarDave Young <hidave.darkstar@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 9617c3e4
Loading
Loading
Loading
Loading
+11 −21
Original line number Diff line number Diff line
@@ -1144,25 +1144,11 @@ struct device *device_create(struct class *class, struct device *parent,
}
EXPORT_SYMBOL_GPL(device_create);

/**
 * find_device - finds a device that was created with device_create()
 * @class: pointer to the struct class that this device was registered with
 * @devt: the dev_t of the device that was previously registered
 */
static struct device *find_device(struct class *class, dev_t devt)
static int __match_devt(struct device *dev, void *data)
{
	struct device *dev = NULL;
	struct device *dev_tmp;
	dev_t *devt = data;

	down(&class->sem);
	list_for_each_entry(dev_tmp, &class->devices, node) {
		if (dev_tmp->devt == devt) {
			dev = dev_tmp;
			break;
		}
	}
	up(&class->sem);
	return dev;
	return dev->devt == *devt;
}

/**
@@ -1177,10 +1163,12 @@ void device_destroy(struct class *class, dev_t devt)
{
	struct device *dev;

	dev = find_device(class, devt);
	if (dev)
	dev = class_find_device(class, &devt, __match_devt);
	if (dev) {
		put_device(dev);
		device_unregister(dev);
	}
}
EXPORT_SYMBOL_GPL(device_destroy);

#ifdef CONFIG_PM_SLEEP
@@ -1203,9 +1191,11 @@ void destroy_suspended_device(struct class *class, dev_t devt)
{
	struct device *dev;

	dev = find_device(class, devt);
	if (dev)
	dev = class_find_device(class, &devt, __match_devt);
	if (dev) {
		device_pm_schedule_removal(dev);
		put_device(dev);
	}
}
EXPORT_SYMBOL_GPL(destroy_suspended_device);
#endif /* CONFIG_PM_SLEEP */