Re: [PATCH v1 01/12] gna: add driver module

From: Maciej Kwapulinski
Date: Mon Mar 01 2021 - 05:42:44 EST



Maciej Kwapulinski <maciej.kwapulinski@xxxxxxxxxxxxxxx> writes:

> Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> writes:
>
>> On Mon, Mar 01, 2021 at 11:18:59AM +0100, Maciej Kwapulinski wrote:
>>>
>>> Andy Shevchenko <andy.shevchenko@xxxxxxxxx> writes:
>>>
>>> > On Tue, Feb 16, 2021 at 6:11 PM Maciej Kwapulinski
>>> > <maciej.kwapulinski@xxxxxxxxxxxxxxx> 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....