Re: [PATCH 6/9] usb: gadget: eliminate anonymous module_init & module_exit

Ira Weiny
2022-03-17T03:31:17Z

On Wed, Mar 16, 2022 at 12:20:07PM -0700, Randy Dunlap wrote:
> Eliminate anonymous module_init() and module_exit(), which can lead to
> confusion or ambiguity when reading System.map, crashes/oops/bugs,
> or an initcall_debug log.
>
> Give each of these init and exit functions unique driver-specific
> names to eliminate the anonymous names.
>
> Example 1: (System.map)
> ffffffff832fc78c t init
> ffffffff832fc79e t init
> ffffffff832fc8f8 t init
>
> Example 2: (initcall_debug log)
> calling init+0x0/0x12 @ 1
> initcall init+0x0/0x12 returned 0 after 15 usecs
> calling init+0x0/0x60 @ 1
> initcall init+0x0/0x60 returned 0 after 2 usecs
> calling init+0x0/0x9a @ 1
> initcall init+0x0/0x9a returned 0 after 74 usecs
>
> Fixes: bd25a14edb75 ("usb: gadget: legacy/serial: allow dynamic removal")
> Fixes: 7bb5ea54be47 ("usb gadget serial: use composite gadget framework")
> Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")

I continue to be confused about the latest rules for the Fixes tag but this one
in particular seems completely useless. This is the 'beginning of time' commit
by Linus AFAICT. So do any of these Fixes tags need to be in this series?

Regardless:

Reviewed-by: Ira Weiny <ira.weiny@intel.com>

> Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
> Cc: Felipe Balbi <felipe.balbi@linux.intel.com>
> Cc: Michał Mirosław <mirq-linux@rere.qmqm.pl>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
> Cc: linux-usb@vger.kernel.org
> ---
> drivers/usb/gadget/legacy/inode.c | 8 ++++----
> drivers/usb/gadget/legacy/serial.c | 10 +++++-----
> drivers/usb/gadget/udc/dummy_hcd.c | 8 ++++----
> 3 files changed, 13 insertions(+), 13 deletions(-)
>
> --- lnx-517-rc8.orig/drivers/usb/gadget/legacy/serial.c
> +++ lnx-517-rc8/drivers/usb/gadget/legacy/serial.c
> @@ -273,7 +273,7 @@ static struct usb_composite_driver gseri
> static int switch_gserial_enable(bool do_enable)
> {
> if (!serial_config_driver.label)
> - /* init() was not called, yet */
> + /* gserial_init() was not called, yet */
> return 0;
>
> if (do_enable)
> @@ -283,7 +283,7 @@ static int switch_gserial_enable(bool do
> return 0;
> }
>
> -static int __init init(void)
> +static int __init gserial_init(void)
> {
> /* We *could* export two configs; that'd be much cleaner...
> * but neither of these product IDs was defined that way.
> @@ -314,11 +314,11 @@ static int __init init(void)
>
> return usb_composite_probe(&gserial_driver);
> }
> -module_init(init);
> +module_init(gserial_init);
>
> -static void __exit cleanup(void)
> +static void __exit gserial_cleanup(void)
> {
> if (enable)
> usb_composite_unregister(&gserial_driver);
> }
> -module_exit(cleanup);
> +module_exit(gserial_cleanup);
> --- lnx-517-rc8.orig/drivers/usb/gadget/udc/dummy_hcd.c
> +++ lnx-517-rc8/drivers/usb/gadget/udc/dummy_hcd.c
> @@ -2765,7 +2765,7 @@ static struct platform_driver dummy_hcd_
> static struct platform_device *the_udc_pdev[MAX_NUM_UDC];
> static struct platform_device *the_hcd_pdev[MAX_NUM_UDC];
>
> -static int __init init(void)
> +static int __init dummy_hcd_init(void)
> {
> int retval = -ENOMEM;
> int i;
> @@ -2887,9 +2887,9 @@ err_alloc_udc:
> platform_device_put(the_hcd_pdev[i]);
> return retval;
> }
> -module_init(init);
> +module_init(dummy_hcd_init);
>
> -static void __exit cleanup(void)
> +static void __exit dummy_hcd_cleanup(void)
> {
> int i;
>
> @@ -2905,4 +2905,4 @@ static void __exit cleanup(void)
> platform_driver_unregister(&dummy_udc_driver);
> platform_driver_unregister(&dummy_hcd_driver);
> }
> -module_exit(cleanup);
> +module_exit(dummy_hcd_cleanup);
> --- lnx-517-rc8.orig/drivers/usb/gadget/legacy/inode.c
> +++ lnx-517-rc8/drivers/usb/gadget/legacy/inode.c
> @@ -2101,7 +2101,7 @@ MODULE_ALIAS_FS("gadgetfs");
>
> /*----------------------------------------------------------------------*/
>
> -static int __init init (void)
> +static int __init gadgetfs_init (void)
> {
> int status;
>
> @@ -2111,12 +2111,12 @@ static int __init init (void)
> shortname, driver_desc);
> return status;
> }
> -module_init (init);
> +module_init (gadgetfs_init);
>
> -static void __exit cleanup (void)
> +static void __exit gadgetfs_cleanup (void)
> {
> pr_debug ("unregister %s\n", shortname);
> unregister_filesystem (&gadgetfs_type);
> }
> -module_exit (cleanup);
> +module_exit (gadgetfs_cleanup);
>