Commit 827ed8b1 authored by Heiner Kallweit's avatar Heiner Kallweit Committed by Greg Kroah-Hartman
Browse files

drivers: core: remove device_link argument from class_compat_[create|remove]_link



After 7e722083 ("i2c: Remove I2C_COMPAT config symbol and related
code") there's no caller left passing a non-null device_link argument.
So remove this argument to simplify the code.

Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
Link: https://lore.kernel.org/r/db49131d-fd79-4f23-93f2-0ab541a345fa@gmail.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent f554b68e
Loading
Loading
Loading
Loading
+3 −28
Original line number Diff line number Diff line
@@ -601,30 +601,10 @@ EXPORT_SYMBOL_GPL(class_compat_unregister);
 *			      a bus device
 * @cls: the compatibility class
 * @dev: the target bus device
 * @device_link: an optional device to which a "device" link should be created
 */
int class_compat_create_link(struct class_compat *cls, struct device *dev,
			     struct device *device_link)
int class_compat_create_link(struct class_compat *cls, struct device *dev)
{
	int error;

	error = sysfs_create_link(cls->kobj, &dev->kobj, dev_name(dev));
	if (error)
		return error;

	/*
	 * Optionally add a "device" link (typically to the parent), as a
	 * class device would have one and we want to provide as much
	 * backwards compatibility as possible.
	 */
	if (device_link) {
		error = sysfs_create_link(&dev->kobj, &device_link->kobj,
					  "device");
		if (error)
			sysfs_remove_link(cls->kobj, dev_name(dev));
	}

	return error;
	return sysfs_create_link(cls->kobj, &dev->kobj, dev_name(dev));
}
EXPORT_SYMBOL_GPL(class_compat_create_link);

@@ -633,14 +613,9 @@ EXPORT_SYMBOL_GPL(class_compat_create_link);
 *			      a bus device
 * @cls: the compatibility class
 * @dev: the target bus device
 * @device_link: an optional device to which a "device" link was previously
 * 		 created
 */
void class_compat_remove_link(struct class_compat *cls, struct device *dev,
			      struct device *device_link)
void class_compat_remove_link(struct class_compat *cls, struct device *dev)
{
	if (device_link)
		sysfs_remove_link(&dev->kobj, "device");
	sysfs_remove_link(cls->kobj, dev_name(dev));
}
EXPORT_SYMBOL_GPL(class_compat_remove_link);
+2 −2
Original line number Diff line number Diff line
@@ -76,7 +76,7 @@ int mdev_register_parent(struct mdev_parent *parent, struct device *dev,
	if (ret)
		return ret;

	ret = class_compat_create_link(mdev_bus_compat_class, dev, NULL);
	ret = class_compat_create_link(mdev_bus_compat_class, dev);
	if (ret)
		dev_warn(dev, "Failed to create compatibility class link\n");

@@ -98,7 +98,7 @@ void mdev_unregister_parent(struct mdev_parent *parent)
	dev_info(parent->dev, "MDEV: Unregistering\n");

	down_write(&parent->unreg_sem);
	class_compat_remove_link(mdev_bus_compat_class, parent->dev, NULL);
	class_compat_remove_link(mdev_bus_compat_class, parent->dev);
	device_for_each_child(parent->dev, NULL, mdev_device_remove_cb);
	parent_remove_sysfs_files(parent);
	up_write(&parent->unreg_sem);
+2 −4
Original line number Diff line number Diff line
@@ -82,10 +82,8 @@ bool class_is_registered(const struct class *class);
struct class_compat;
struct class_compat *class_compat_register(const char *name);
void class_compat_unregister(struct class_compat *cls);
int class_compat_create_link(struct class_compat *cls, struct device *dev,
			     struct device *device_link);
void class_compat_remove_link(struct class_compat *cls, struct device *dev,
			      struct device *device_link);
int class_compat_create_link(struct class_compat *cls, struct device *dev);
void class_compat_remove_link(struct class_compat *cls, struct device *dev);

void class_dev_iter_init(struct class_dev_iter *iter, const struct class *class,
			 const struct device *start, const struct device_type *type);