Re: [PATCH v3 1/5] net: rnpgbe: Add build support for rnpgbe

From: Yibo Dong
Date: Wed Aug 13 2025 - 02:46:06 EST


On Tue, Aug 12, 2025 at 09:48:07PM +0530, Anwar, Md Danish wrote:
> On 8/12/2025 3:09 PM, Dong Yibo wrote:
> > Add build options and doc for mucse.
> > Initialize pci device access for MUCSE devices.
> >
> > Signed-off-by: Dong Yibo <dong100@xxxxxxxxx>
> > ---
> > .../device_drivers/ethernet/index.rst | 1 +
> > .../device_drivers/ethernet/mucse/rnpgbe.rst | 21 +++
> > MAINTAINERS | 8 +
> > drivers/net/ethernet/Kconfig | 1 +
> > drivers/net/ethernet/Makefile | 1 +
> > drivers/net/ethernet/mucse/Kconfig | 34 ++++
> > drivers/net/ethernet/mucse/Makefile | 7 +
> > drivers/net/ethernet/mucse/rnpgbe/Makefile | 8 +
> > drivers/net/ethernet/mucse/rnpgbe/rnpgbe.h | 25 +++
> > .../net/ethernet/mucse/rnpgbe/rnpgbe_main.c | 161 ++++++++++++++++++
> > 10 files changed, 267 insertions(+)
> > create mode 100644 Documentation/networking/device_drivers/ethernet/mucse/rnpgbe.rst
> > create mode 100644 drivers/net/ethernet/mucse/Kconfig
> > create mode 100644 drivers/net/ethernet/mucse/Makefile
> > create mode 100644 drivers/net/ethernet/mucse/rnpgbe/Makefile
> > create mode 100644 drivers/net/ethernet/mucse/rnpgbe/rnpgbe.h
> > create mode 100644 drivers/net/ethernet/mucse/rnpgbe/rnpgbe_main.c
>
> [ ... ]
>
> > + **/
> > +static int __init rnpgbe_init_module(void)
> > +{
> > + int ret;
> > +
> > + ret = pci_register_driver(&rnpgbe_driver);
> > + if (ret)
> > + return ret;
> > +
> > + return 0;
> > +}
>
> Unnecessary code - can be simplified to just `return
> pci_register_driver(&rnpgbe_driver);`
>

Yes, but if I add some new codes which need some free after
pci_register_driver failed, the new patch will be like this:

-return pci_register_driver(&rnpgbe_driver);
+int ret:
+wq = create_singlethread_workqueue(rnpgbe_driver_name);
+ret = pci_register_driver(&rnpgbe_driver);
+if (ret) {
+ destroy_workqueue(wq);
+ return ret;
+}
+return 0;

Is this ok? Maybe not good to delete code for adding new feature?
This is what Andrew suggested not to do.

> > +
> > +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);
> > +
> > +MODULE_DEVICE_TABLE(pci, rnpgbe_pci_tbl);
> > +MODULE_AUTHOR("Mucse Corporation, <techsupport@xxxxxxxxx>");
> > +MODULE_DESCRIPTION("Mucse(R) 1 Gigabit PCI Express Network Driver");
> > +MODULE_LICENSE("GPL");
>
> --
> Thanks and Regards,
> Md Danish Anwar
>
>

Thanks for your feedback.