Message ID | 20231127101603.807593-1-yi.fang.gan@intel.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net,1/1] net: phylink: Add module_exit() | expand |
On Mon, Nov 27, 2023 at 06:16:03PM +0800, Gan Yi Fang wrote: > diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c > index 25c19496a336..7121503c9259 100644 > --- a/drivers/net/phy/phylink.c > +++ b/drivers/net/phy/phylink.c > @@ -3724,7 +3724,10 @@ static int __init phylink_init(void) > return 0; > } > > +static void __exit phylink_exit(void){} Please format that as: static void __exit phylink_exit(void) { } and move it _after_ module_init(). Thanks.
From: Gan Yi Fang <yi.fang.gan@intel.com> Date: Mon, 27 Nov 2023 18:16:03 +0800 > From: "Gan, Yi Fang" <yi.fang.gan@intel.com> Please fix your Git vs mail client settings, so that your own patches won't contain "From:" with your own name. I'd suggest using "Gan Yi Fang", as that Intel's versions with commas (,) aren't optimal for mailing lists and development. > > In free_module(), if mod->init callback is defined but mod->exit callback > is not defined, it will assume the module cannot be removed and return > EBUSY. The module_exit() is missing from current phylink module drive > causing failure while unloading it. > > This patch introduces phylink_exit() for phylink module removal. > > Fixes: eca68a3c7d05 ("net: phylink: pass supported host PHY interface modes to phylib for SFP's PHYs") > Cc: <stable@vger.kernel.org> # 6.1+ > Signed-off-by: Lai Peter Jun Ann <jun.ann.lai@intel.com> > Signed-off-by: Gan, Yi Fang <yi.fang.gan@intel.com> > --- > drivers/net/phy/phylink.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c > index 25c19496a336..7121503c9259 100644 > --- a/drivers/net/phy/phylink.c > +++ b/drivers/net/phy/phylink.c > @@ -3724,7 +3724,10 @@ static int __init phylink_init(void) > return 0; > } > > +static void __exit phylink_exit(void){} > + > module_init(phylink_init); > +module_exit(phylink_exit); This pattern (empty __exit function + module_exit()) is +/- common in the kernel. How about making a macro from it, just like it's done with e.g. module_platform_driver() etc.? So that you could just add to phylink.c something like: module_exit_stub(phylink); > > MODULE_LICENSE("GPL v2"); > MODULE_DESCRIPTION("phylink models the MAC to optional PHY connection"); Thanks, Olek
diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c index 25c19496a336..7121503c9259 100644 --- a/drivers/net/phy/phylink.c +++ b/drivers/net/phy/phylink.c @@ -3724,7 +3724,10 @@ static int __init phylink_init(void) return 0; } +static void __exit phylink_exit(void){} + module_init(phylink_init); +module_exit(phylink_exit); MODULE_LICENSE("GPL v2"); MODULE_DESCRIPTION("phylink models the MAC to optional PHY connection");