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

From: Maciej Kwapulinski
Date: Mon Mar 01 2021 - 05:41:36 EST



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..