On Wed, Aug 20, 2025 at 10:06:00PM +0200, Andrew Lunn wrote: > > +/** > > + * rnpgbe_init_module - Driver init routine > > + * > > + * rnpgbe_init_module is called when driver insmod > > + * > > + * @return: 0 on success, negative on failure > > + **/ > > +static int __init rnpgbe_init_module(void) > > +{ > > + return pci_register_driver(&rnpgbe_driver); > > +} > > + > > +module_init(rnpgbe_init_module); > > + > > +/** > > + * rnpgbe_exit_module - Driver remove routine > > + * > > + * rnpgbe_exit_module is called when driver is removed > > + **/ > > +static void __exit rnpgbe_exit_module(void) > > +{ > > + pci_unregister_driver(&rnpgbe_driver); > > +} > > + > > +module_exit(rnpgbe_exit_module); > > This can be replaced by module_pci_driver() > Ok, I will improve it. By the way, if I want to add some functions(maybe workqueue to handle link status, or debugfs for the driver) in the future. The function is only one for driver, not each for every pci device, should I turn back to 'module_exit' and 'module_init'? Maybe workqueue can use 'system_power_efficient_wq' just like libwx does? > > Andrew > > --- > pw-bot: cr > Thanks for your feedback.