Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> writes: > On Mon, Mar 01, 2021 at 11:39:23AM +0100, Maciej Kwapulinski wrote: >> >> 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.... > > Still doesn't mean it is a good thing to do. Again, why isn't this > driver just using the misc driver interface instead? It's much simpler > to use and should work just fine for this tiny driver, instead of having > to create a custom class just for it. > ok