* [PATCH] media: remove unnecessary module_init/exit functions
@ 2026-01-31 2:00 Ethan Nelson-Moore
2026-01-31 18:05 ` Laurent Pinchart
0 siblings, 1 reply; 3+ messages in thread
From: Ethan Nelson-Moore @ 2026-01-31 2:00 UTC (permalink / raw)
To: linux-media
Cc: Ethan Nelson-Moore, Mauro Carvalho Chehab, Hans Verkuil,
Darshan Rathod, Jai Luthra, Laurent Pinchart
Three media drivers have unnecessary module_init and module_exit
functions that are empty or just print a message. Remove them. Note
that if a module_init function exists, a module_exit function must also
exist; otherwise, the module cannot be unloaded.
Signed-off-by: Ethan Nelson-Moore <enelsonmoore@gmail.com>
---
drivers/media/common/b2c2/flexcop.c | 14 --------------
drivers/media/common/saa7146/saa7146_fops.c | 13 -------------
drivers/media/usb/gspca/gspca.c | 13 -------------
3 files changed, 40 deletions(-)
diff --git a/drivers/media/common/b2c2/flexcop.c b/drivers/media/common/b2c2/flexcop.c
index 8506de48ba45..1572831be5b8 100644
--- a/drivers/media/common/b2c2/flexcop.c
+++ b/drivers/media/common/b2c2/flexcop.c
@@ -292,20 +292,6 @@ void flexcop_device_exit(struct flexcop_device *fc)
}
EXPORT_SYMBOL(flexcop_device_exit);
-static int flexcop_module_init(void)
-{
- info(DRIVER_NAME " loaded successfully");
- return 0;
-}
-
-static void flexcop_module_cleanup(void)
-{
- info(DRIVER_NAME " unloaded successfully");
-}
-
-module_init(flexcop_module_init);
-module_exit(flexcop_module_cleanup);
-
MODULE_AUTHOR(DRIVER_AUTHOR);
MODULE_DESCRIPTION(DRIVER_NAME);
MODULE_LICENSE("GPL");
diff --git a/drivers/media/common/saa7146/saa7146_fops.c b/drivers/media/common/saa7146/saa7146_fops.c
index a9e3bad76d54..c0166684eff8 100644
--- a/drivers/media/common/saa7146/saa7146_fops.c
+++ b/drivers/media/common/saa7146/saa7146_fops.c
@@ -417,19 +417,6 @@ int saa7146_unregister_device(struct video_device *vfd, struct saa7146_dev *dev)
}
EXPORT_SYMBOL_GPL(saa7146_unregister_device);
-static int __init saa7146_vv_init_module(void)
-{
- return 0;
-}
-
-
-static void __exit saa7146_vv_cleanup_module(void)
-{
-}
-
-module_init(saa7146_vv_init_module);
-module_exit(saa7146_vv_cleanup_module);
-
MODULE_AUTHOR("Michael Hunold <michael@mihu.de>");
MODULE_DESCRIPTION("video4linux driver for saa7146-based hardware");
MODULE_LICENSE("GPL");
diff --git a/drivers/media/usb/gspca/gspca.c b/drivers/media/usb/gspca/gspca.c
index 3fc15d16df8e..f3d3f441c851 100644
--- a/drivers/media/usb/gspca/gspca.c
+++ b/drivers/media/usb/gspca/gspca.c
@@ -1701,19 +1701,6 @@ int gspca_resume(struct usb_interface *intf)
EXPORT_SYMBOL(gspca_resume);
#endif
-/* -- module insert / remove -- */
-static int __init gspca_init(void)
-{
- pr_info("v" GSPCA_VERSION " registered\n");
- return 0;
-}
-static void __exit gspca_exit(void)
-{
-}
-
-module_init(gspca_init);
-module_exit(gspca_exit);
-
module_param_named(debug, gspca_debug, int, 0644);
MODULE_PARM_DESC(debug,
"1:probe 2:config 3:stream 4:frame 5:packet 6:usbi 7:usbo");
--
2.43.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] media: remove unnecessary module_init/exit functions
2026-01-31 2:00 [PATCH] media: remove unnecessary module_init/exit functions Ethan Nelson-Moore
@ 2026-01-31 18:05 ` Laurent Pinchart
2026-02-01 23:50 ` Ethan Nelson-Moore
0 siblings, 1 reply; 3+ messages in thread
From: Laurent Pinchart @ 2026-01-31 18:05 UTC (permalink / raw)
To: Ethan Nelson-Moore
Cc: linux-media, Mauro Carvalho Chehab, Hans Verkuil, Darshan Rathod,
Jai Luthra
Hi Ethan,
Thank you for the patch.
On Fri, Jan 30, 2026 at 06:00:47PM -0800, Ethan Nelson-Moore wrote:
> Three media drivers have unnecessary module_init and module_exit
> functions that are empty or just print a message. Remove them. Note
> that if a module_init function exists, a module_exit function must also
> exist; otherwise, the module cannot be unloaded.
How did you identify those, was it scripted or manual ?
> Signed-off-by: Ethan Nelson-Moore <enelsonmoore@gmail.com>
The patch looks good,
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
I would also be nice to replace the module init/exit functions that
register/unregister PCI or USB drivers with the corresponding helper
macros (module_pci_driver, module_usb_driver, module_platform_driver,
...), as we have quite a few drivers that still open-code that. In a
separate patch of course.
> ---
> drivers/media/common/b2c2/flexcop.c | 14 --------------
> drivers/media/common/saa7146/saa7146_fops.c | 13 -------------
> drivers/media/usb/gspca/gspca.c | 13 -------------
> 3 files changed, 40 deletions(-)
>
> diff --git a/drivers/media/common/b2c2/flexcop.c b/drivers/media/common/b2c2/flexcop.c
> index 8506de48ba45..1572831be5b8 100644
> --- a/drivers/media/common/b2c2/flexcop.c
> +++ b/drivers/media/common/b2c2/flexcop.c
> @@ -292,20 +292,6 @@ void flexcop_device_exit(struct flexcop_device *fc)
> }
> EXPORT_SYMBOL(flexcop_device_exit);
>
> -static int flexcop_module_init(void)
> -{
> - info(DRIVER_NAME " loaded successfully");
> - return 0;
> -}
> -
> -static void flexcop_module_cleanup(void)
> -{
> - info(DRIVER_NAME " unloaded successfully");
> -}
> -
> -module_init(flexcop_module_init);
> -module_exit(flexcop_module_cleanup);
> -
> MODULE_AUTHOR(DRIVER_AUTHOR);
> MODULE_DESCRIPTION(DRIVER_NAME);
> MODULE_LICENSE("GPL");
> diff --git a/drivers/media/common/saa7146/saa7146_fops.c b/drivers/media/common/saa7146/saa7146_fops.c
> index a9e3bad76d54..c0166684eff8 100644
> --- a/drivers/media/common/saa7146/saa7146_fops.c
> +++ b/drivers/media/common/saa7146/saa7146_fops.c
> @@ -417,19 +417,6 @@ int saa7146_unregister_device(struct video_device *vfd, struct saa7146_dev *dev)
> }
> EXPORT_SYMBOL_GPL(saa7146_unregister_device);
>
> -static int __init saa7146_vv_init_module(void)
> -{
> - return 0;
> -}
> -
> -
> -static void __exit saa7146_vv_cleanup_module(void)
> -{
> -}
> -
> -module_init(saa7146_vv_init_module);
> -module_exit(saa7146_vv_cleanup_module);
> -
> MODULE_AUTHOR("Michael Hunold <michael@mihu.de>");
> MODULE_DESCRIPTION("video4linux driver for saa7146-based hardware");
> MODULE_LICENSE("GPL");
> diff --git a/drivers/media/usb/gspca/gspca.c b/drivers/media/usb/gspca/gspca.c
> index 3fc15d16df8e..f3d3f441c851 100644
> --- a/drivers/media/usb/gspca/gspca.c
> +++ b/drivers/media/usb/gspca/gspca.c
> @@ -1701,19 +1701,6 @@ int gspca_resume(struct usb_interface *intf)
> EXPORT_SYMBOL(gspca_resume);
> #endif
>
> -/* -- module insert / remove -- */
> -static int __init gspca_init(void)
> -{
> - pr_info("v" GSPCA_VERSION " registered\n");
> - return 0;
> -}
> -static void __exit gspca_exit(void)
> -{
> -}
> -
> -module_init(gspca_init);
> -module_exit(gspca_exit);
> -
> module_param_named(debug, gspca_debug, int, 0644);
> MODULE_PARM_DESC(debug,
> "1:probe 2:config 3:stream 4:frame 5:packet 6:usbi 7:usbo");
--
Regards,
Laurent Pinchart
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] media: remove unnecessary module_init/exit functions
2026-01-31 18:05 ` Laurent Pinchart
@ 2026-02-01 23:50 ` Ethan Nelson-Moore
0 siblings, 0 replies; 3+ messages in thread
From: Ethan Nelson-Moore @ 2026-02-01 23:50 UTC (permalink / raw)
To: Laurent Pinchart
Cc: linux-media, Mauro Carvalho Chehab, Hans Verkuil, Darshan Rathod,
Jai Luthra
Hi, Laurent,
On Sat, Jan 31, 2026 at 10:05 AM Laurent Pinchart
<laurent.pinchart@ideasonboard.com> wrote:
> Thank you for the patch.
You're welcome.
> How did you identify those, was it scripted or manual ?
Scripted - I don't remember exactly how, but I think I looked for
files that had a return statement or } at the start of the line within
a few lines of the beginning of their module_init/exit functions.
> I would also be nice to replace the module init/exit functions that
> register/unregister PCI or USB drivers with the corresponding helper
> macros (module_pci_driver, module_usb_driver, module_platform_driver,
> ...), as we have quite a few drivers that still open-code that. In a
> separate patch of course.
I will do this at some point soon.
Ethan
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-02-01 23:51 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-31 2:00 [PATCH] media: remove unnecessary module_init/exit functions Ethan Nelson-Moore
2026-01-31 18:05 ` Laurent Pinchart
2026-02-01 23:50 ` Ethan Nelson-Moore
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox