From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.7 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4137FC43600 for ; Mon, 10 May 2021 20:57:00 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 1CAD2613CA for ; Mon, 10 May 2021 20:57:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233010AbhEJU6E (ORCPT ); Mon, 10 May 2021 16:58:04 -0400 Received: from mail.kernel.org ([198.145.29.99]:42404 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232816AbhEJU6D (ORCPT ); Mon, 10 May 2021 16:58:03 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id DA08B61183; Mon, 10 May 2021 20:56:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1620680218; bh=Eybd5Prm8MecsrOo0CDKgicCBzQ5UXTLu9q5Wu9ESqk=; h=Date:From:To:Cc:Subject:In-Reply-To:From; b=I2mBwzTPjLFM1PneoaeJIakqQX9qza9nmvbL3uTEEQ+bBE/Ev+fYCJ+n9Npn2qHlR w5nxF+2puek1aDXHITJNoKp0DYAaNR69udJLrRzzM/fP62/RsAYkwNrOPy25E87w5R GmfgclC0xb1T1v5/PAKUAHV03e/6BNmupsNj0qLfAwvBZbsiP1zQEI73N+6m28EA4t UsdWvac/YoSlOFVPWa8dbM+IEf5/r1Wh9G6EVviB57xzGDH2k0P+lptJ2rRHFF78td dd8xgP6QKcn4l7TmbdSd9AYP1T0Um0qWrpDWSbvuEs8lkqGkll+KV/96Y/Z6CEw+wj zOj6DA6pZpeDw== Date: Mon, 10 May 2021 15:56:56 -0500 From: Bjorn Helgaas To: Andrey Grodzovsky Cc: dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, linux-pci@vger.kernel.org, ckoenig.leichtzumerken@gmail.com, daniel.vetter@ffwll.ch, Harry.Wentland@amd.com, ppaalanen@gmail.com, Alexander.Deucher@amd.com, gregkh@linuxfoundation.org, Felix.Kuehling@amd.com Subject: Re: [PATCH v6 08/16] PCI: Add support for dev_groups to struct pci_device_driver Message-ID: <20210510205656.GA2301233@bjorn-Precision-5520> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210510163625.407105-9-andrey.grodzovsky@amd.com> Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org In subject: PCI: Add support for dev_groups to struct pci_driver (not "struct pci_device_driver," which does not exist) On Mon, May 10, 2021 at 12:36:17PM -0400, Andrey Grodzovsky wrote: > This helps converting PCI drivers sysfs attributes to static. > > Analogous to b71b283e3d6d ("USB: add support for dev_groups to > struct usb_driver") > > Signed-off-by: Andrey Grodzovsky > Suggested-by: Greg Kroah-Hartman With the subject change above, Acked-by: Bjorn Helgaas > --- > drivers/pci/pci-driver.c | 1 + > include/linux/pci.h | 3 +++ > 2 files changed, 4 insertions(+) > > diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c > index ec44a79e951a..3a72352aa5cf 100644 > --- a/drivers/pci/pci-driver.c > +++ b/drivers/pci/pci-driver.c > @@ -1385,6 +1385,7 @@ int __pci_register_driver(struct pci_driver *drv, struct module *owner, > drv->driver.owner = owner; > drv->driver.mod_name = mod_name; > drv->driver.groups = drv->groups; > + drv->driver.dev_groups = drv->dev_groups; > > spin_lock_init(&drv->dynids.lock); > INIT_LIST_HEAD(&drv->dynids.list); > diff --git a/include/linux/pci.h b/include/linux/pci.h > index 86c799c97b77..b57755b03009 100644 > --- a/include/linux/pci.h > +++ b/include/linux/pci.h > @@ -858,6 +858,8 @@ struct module; > * number of VFs to enable via sysfs "sriov_numvfs" file. > * @err_handler: See Documentation/PCI/pci-error-recovery.rst > * @groups: Sysfs attribute groups. > + * @dev_groups: Attributes attached to the device that will be > + * created once it is bound to the driver. > * @driver: Driver model structure. > * @dynids: List of dynamically added device IDs. > */ > @@ -873,6 +875,7 @@ struct pci_driver { > int (*sriov_configure)(struct pci_dev *dev, int num_vfs); /* On PF */ > const struct pci_error_handlers *err_handler; > const struct attribute_group **groups; > + const struct attribute_group **dev_groups; > struct device_driver driver; > struct pci_dynids dynids; > }; > -- > 2.25.1 >