From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4C4AE1F866F for ; Mon, 13 Jan 2025 22:10:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736806221; cv=none; b=O2NFt+78AF30G3LdA+4DWhqm6IhR8BN+PZSvwyoRKO1yoIu5MTWx/xoEjcxZXx1ElwiImbmkF8/oPSDNL7taHjkIT2ZnfB+B+FD/7CjCqnOyEckMqO/DTCJw9SPlObuF7XPiTpCysx9Gud1vcQGZ9acG48zGx0wZ41guguAIm+4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736806221; c=relaxed/simple; bh=O5l6j0laApT7cmJBahz6OhH8HwMYregem06h7pjUQpU=; h=Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=YLOKN2YNfCaNuIVqkL6N2dCWYNxreHClfzxOQYNmSdVtBwo7cxXt+d2vqPw1QnGslOMl9mOrkUho4SlYTZ2q1ynNJhMIorK3bkRo4oPCzzffWxKC+AtC+CX4R1uMAa22l+N9axOBAmYrEQ/S8f5P5pCiOXScEYnqRDr8eGTNMiA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=SN6l5JPs; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="SN6l5JPs" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1736806216; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=MrWDEP4V+FI1ddmK6xAs/Cm9CurLtAEYPmtFF0IINoQ=; b=SN6l5JPs+4+59xG99+A+gx+eEAlvuVCXnpOIdOWBCFpDhe1vIPqIYbb9VFQ/ljKCWVoDHI 2Zx7UeGcqnTY9MtazfbJLynL9fKDRm0eqto9awGDvopc0Ik5aa/lWrHOpUwzhe3pfW7KDN V80q+7fYBKH2XdJW029OBwFmIIRsfwA= Received: from mail-io1-f69.google.com (mail-io1-f69.google.com [209.85.166.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-673-J9gzkhzlMdWSNYjAuQSXWQ-1; Mon, 13 Jan 2025 17:10:14 -0500 X-MC-Unique: J9gzkhzlMdWSNYjAuQSXWQ-1 X-Mimecast-MFC-AGG-ID: J9gzkhzlMdWSNYjAuQSXWQ Received: by mail-io1-f69.google.com with SMTP id ca18e2360f4ac-849cc81984eso35189439f.1 for ; Mon, 13 Jan 2025 14:10:14 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736806214; x=1737411014; h=content-transfer-encoding:mime-version:organization:references :in-reply-to:message-id:subject:cc:to:from:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=MrWDEP4V+FI1ddmK6xAs/Cm9CurLtAEYPmtFF0IINoQ=; b=o+0A3M68gBj6q6nDT+WRXjdi2TTUIW3UGlfcXzJi9YNBVItzFA1uDqcNYkgBAPdFcQ N12WHlbtq6NfOd67/Xc/UF0nqTsgqKrX5Kcg1VPQcFWzsNHrtHVay8euDdmjnWo5a7Uo T27RVzCg2j9mQ4yYE8I0+55LIET5Zl2KzTvq/kKEgF8ZgAj20ey3XWL5gIhxc/Yy3yIv G22U71I/dhWvOyDuo4Bz+FydmpjrdddzNyt5vQcc1ZirAAspdsoYbSakIdfoX6bYI/uI LK4t3osRyI/yWboUTq0tf1U7Lb8mL/PACWu6uxH0gH2egFLP79yuU/01fnsTrgDxqZB9 r4wA== X-Forwarded-Encrypted: i=1; AJvYcCVYkvpwb8IyNA4gSk6UMGz6eWBUsZlgACSlBVCQyrGJY3JhrELSEmKJQ6hKhtZMQCgpsrWZPZK8H+vA/FA=@vger.kernel.org X-Gm-Message-State: AOJu0YxaSbPGHN+XnRLCeFg1mntmdWALkcOll3o+eQutrlmzuAMJVs+5 OZjXONloYzBLnEauzQjN9eXNz13rG7RnnBX/rEJjQZMyV1AM976oT8flraTnh7wluZJ3MNkE+xe EgzrcNqFvHuLxo3Ox972JLdkWIv4aEfQscJwkVEaGppxuoPlDt4XvQuobVuAv7A== X-Gm-Gg: ASbGnctNLcXozrB+aD+qGi+CNub1RXCNtq9f3Dqs4ghDByU0Ff2+Xgm4AgopBn7ROqW dw2ifC63/bvlZRiix4epVJxHfdOFX4DeHnYxxWew6lgAPt09+mcdU6ntNo3bKE7RHtlD6QQpHO7 ncaA9BfoJpuODKxx5x2hv4RnAnBjNommbuS5UWzaN5Biesq0fQENpwyHqaba4XEOrfhl1UDIft0 lG74NYQJTMpV0mcvpteNX9BDCUP9VzDv6YwzaVtU2E4RPCAnbtu9tM99oXH X-Received: by 2002:a05:6e02:2167:b0:3a7:c041:6666 with SMTP id e9e14a558f8ab-3ce3a8f3d14mr45750435ab.6.1736806213963; Mon, 13 Jan 2025 14:10:13 -0800 (PST) X-Google-Smtp-Source: AGHT+IGrDyPpHZDcUjwns8Eh7OnBjqx7IvYHsrvSmtngHny9UKdATb41cgQwLtLaaBCBtUMt76OQgw== X-Received: by 2002:a05:6e02:2167:b0:3a7:c041:6666 with SMTP id e9e14a558f8ab-3ce3a8f3d14mr45750425ab.6.1736806213645; Mon, 13 Jan 2025 14:10:13 -0800 (PST) Received: from redhat.com ([38.15.36.11]) by smtp.gmail.com with ESMTPSA id e9e14a558f8ab-3ce4add8570sm29158855ab.32.2025.01.13.14.10.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Jan 2025 14:10:13 -0800 (PST) Date: Mon, 13 Jan 2025 17:10:01 -0500 From: Alex Williamson To: Heiner Kallweit Cc: Greg Kroah-Hartman , "Rafael J. Wysocki" , Kirti Wankhede , Christoph Hellwig , Linux Kernel Mailing List Subject: Re: [PATCH] drivers: core: remove device_link argument from class_compat_[create|remove]_link Message-ID: <20250113171001.4e5d4e9a.alex.williamson@redhat.com> In-Reply-To: References: Organization: Red Hat Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Thu, 19 Dec 2024 22:48:17 +0100 Heiner Kallweit wrote: > After 7e722083fcc3 ("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: Heiner Kallweit > --- > drivers/base/class.c | 31 +++---------------------------- > drivers/vfio/mdev/mdev_core.c | 4 ++-- > include/linux/device/class.h | 6 ++---- > 3 files changed, 7 insertions(+), 34 deletions(-) Tested-by: Alex Williamson Acked-by: Alex Williamson > > diff --git a/drivers/base/class.c b/drivers/base/class.c > index 582b5a02a..40805f905 100644 > --- a/drivers/base/class.c > +++ b/drivers/base/class.c > @@ -594,30 +594,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); > > @@ -626,14 +606,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); > diff --git a/drivers/vfio/mdev/mdev_core.c b/drivers/vfio/mdev/mdev_core.c > index ed4737de4..f2e686f8f 100644 > --- a/drivers/vfio/mdev/mdev_core.c > +++ b/drivers/vfio/mdev/mdev_core.c > @@ -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); > diff --git a/include/linux/device/class.h b/include/linux/device/class.h > index 518c9c83d..4c1e6cf50 100644 > --- a/include/linux/device/class.h > +++ b/include/linux/device/class.h > @@ -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);