[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <85a6rnjgys.fsf@linux.intel.com>
Date: Mon, 01 Mar 2021 11:39:23 +0100
From: Maciej Kwapulinski <maciej.kwapulinski@...ux.intel.com>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: Andy Shevchenko <andy.shevchenko@...il.com>,
Arnd Bergmann <arnd@...db.de>,
Jonathan Corbet <corbet@....net>,
Derek Kiernan <derek.kiernan@...inx.com>,
Dragan Cvetic <dragan.cvetic@...inx.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Linux Documentation List <linux-doc@...r.kernel.org>,
Tomasz Jankowski <tomasz1.jankowski@...el.com>,
Savo Novakovic <savox.novakovic@...el.com>,
Jianxun Zhang <jianxun.zhang@...ux.intel.com>
Subject: Re: [PATCH v1 01/12] gna: add driver module
Maciej Kwapulinski <maciej.kwapulinski@...ux.intel.com> writes:
> Greg Kroah-Hartman <gregkh@...uxfoundation.org> writes:
>
>> On Mon, Mar 01, 2021 at 11:18:59AM +0100, Maciej Kwapulinski wrote:
>>>
>>> Andy Shevchenko <andy.shevchenko@...il.com> writes:
>>>
>>> > On Tue, Feb 16, 2021 at 6:11 PM Maciej Kwapulinski
>>> > <maciej.kwapulinski@...ux.intel.com> wrote:
>>> >>
>>> ....
>>> >> +static int __init gna_drv_init(void)
>>> >> +{
>>> >> + int ret;
>>> >> +
>>> >> + mutex_init(&gna_drv_priv.lock);
>>> >> +
>>> >> + gna_class = class_create(THIS_MODULE, "gna");
>>> >> + if (IS_ERR(gna_class)) {
>>> >> + pr_err("class device create failed\n");
>>> >> + return PTR_ERR(gna_class);
>>> >> + }
>>> >> + gna_class->devnode = gna_devnode;
>>> >> +
>>> >> + ret = pci_register_driver(&gna_driver);
>>> >
>>> > Is it possible to decouple a PCI glue driver from the class as many
>>> > other existing examples are doing?
>>> >
>>>
>>> I see many pci drivers (including staging) that do have it glued though.
>>>
>>> Examples are:
>>> 1. "static int __init kp2000_pcie_init(void)" (commit on May 20 09:34:11
>>> 2019)
>>> 2. "static int __init hl_init(void)" (commit on Mon Feb 18 09:46:43 2019)
>>>
>>> Please give me more details.
>>
>> Never use a staging driver for any type of example, _EXECPT_ for a bad
>> one. There's a reason the code is in staging and not in the "real" part
>> of the kernel.
>
> ok.
>
> another one (1) is not staging..
I meant "static int __init hl_init(void)" is not staging one....
Powered by blists - more mailing lists