Re: [PATCH 1/4] usb: core: pass THIS_MODULE implicitly through a macro
From: Bastien Nocera
Date: Mon Jul 27 2026 - 08:27:24 EST
On Wed, 2026-07-22 at 12:31 +0900, Shashank Balaji wrote:
> Rename usb_register_device_driver() to __usb_register_device_driver()
> and replace
> it with a macro wrapper that passes THIS_MODULE implicitly. This is
> in line with
> what other buses do.
I found some examples by grepping for:
git grep 'THIS_MODULE)' include/ | grep driver
It could have been useful to mention some examples by name in the
commit message.
Cheers
> Co-developed-by: Rahul Bukte <rahul.bukte@xxxxxxxx>
> Signed-off-by: Rahul Bukte <rahul.bukte@xxxxxxxx>
> Signed-off-by: Shashank Balaji <shashank.mahadasyam@xxxxxxxx>
> ---
> include/linux/usb.h | 4 +++-
> drivers/net/usb/r8152.c | 2 +-
> drivers/usb/core/driver.c | 6 +++---
> drivers/usb/core/usb.c | 2 +-
> drivers/usb/misc/apple-mfi-fastcharge.c | 2 +-
> drivers/usb/misc/onboard_usb_dev.c | 2 +-
> drivers/usb/usbip/stub_main.c | 2 +-
> 7 files changed, 11 insertions(+), 9 deletions(-)
>
> diff --git a/include/linux/usb.h b/include/linux/usb.h
> index 1da4ad1610bc..2466183a45f0 100644
> --- a/include/linux/usb.h
> +++ b/include/linux/usb.h
> @@ -1368,7 +1368,9 @@ extern void usb_deregister(struct usb_driver
> *);
> module_driver(__usb_driver, usb_register, \
> usb_deregister)
>
> -extern int usb_register_device_driver(struct usb_device_driver *,
> +#define usb_register_device_driver(new_udriver) \
> + __usb_register_device_driver(new_udriver, THIS_MODULE)
> +extern int __usb_register_device_driver(struct usb_device_driver *,
> struct module *);
> extern void usb_deregister_device_driver(struct usb_device_driver
> *);
>
> diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c
> index f61686433031..73b9b2af1ed2 100644
> --- a/drivers/net/usb/r8152.c
> +++ b/drivers/net/usb/r8152.c
> @@ -10495,7 +10495,7 @@ static int __init rtl8152_driver_init(void)
> {
> int ret;
>
> - ret =
> usb_register_device_driver(&rtl8152_cfgselector_driver, THIS_MODULE);
> + ret =
> usb_register_device_driver(&rtl8152_cfgselector_driver);
> if (ret)
> return ret;
>
> diff --git a/drivers/usb/core/driver.c b/drivers/usb/core/driver.c
> index f63004417058..eac1ff468c08 100644
> --- a/drivers/usb/core/driver.c
> +++ b/drivers/usb/core/driver.c
> @@ -980,7 +980,7 @@ bool is_usb_device_driver(const struct
> device_driver *drv)
> }
>
> /**
> - * usb_register_device_driver - register a USB device (not
> interface) driver
> + * __usb_register_device_driver - register a USB device (not
> interface) driver
> * @new_udriver: USB operations for the device driver
> * @owner: module owner of this driver.
> *
> @@ -990,7 +990,7 @@ bool is_usb_device_driver(const struct
> device_driver *drv)
> *
> * Return: A negative error code on failure and 0 on success.
> */
> -int usb_register_device_driver(struct usb_device_driver
> *new_udriver,
> +int __usb_register_device_driver(struct usb_device_driver
> *new_udriver,
> struct module *owner)
> {
> int retval = 0;
> @@ -1023,7 +1023,7 @@ int usb_register_device_driver(struct
> usb_device_driver *new_udriver,
>
> return retval;
> }
> -EXPORT_SYMBOL_GPL(usb_register_device_driver);
> +EXPORT_SYMBOL_GPL(__usb_register_device_driver);
>
> /**
> * usb_deregister_device_driver - unregister a USB device (not
> interface) driver
> diff --git a/drivers/usb/core/usb.c b/drivers/usb/core/usb.c
> index df166cafe106..2559a180fdee 100644
> --- a/drivers/usb/core/usb.c
> +++ b/drivers/usb/core/usb.c
> @@ -1241,7 +1241,7 @@ static int __init usb_init(void)
> retval = usb_hub_init();
> if (retval)
> goto hub_init_failed;
> - retval = usb_register_device_driver(&usb_generic_driver,
> THIS_MODULE);
> + retval = usb_register_device_driver(&usb_generic_driver);
> if (!retval)
> goto out;
>
> diff --git a/drivers/usb/misc/apple-mfi-fastcharge.c
> b/drivers/usb/misc/apple-mfi-fastcharge.c
> index af266e19f2fd..02adec28d9e6 100644
> --- a/drivers/usb/misc/apple-mfi-fastcharge.c
> +++ b/drivers/usb/misc/apple-mfi-fastcharge.c
> @@ -245,7 +245,7 @@ static struct usb_device_driver mfi_fc_driver = {
>
> static int __init mfi_fc_driver_init(void)
> {
> - return usb_register_device_driver(&mfi_fc_driver,
> THIS_MODULE);
> + return usb_register_device_driver(&mfi_fc_driver);
> }
>
> static void __exit mfi_fc_driver_exit(void)
> diff --git a/drivers/usb/misc/onboard_usb_dev.c
> b/drivers/usb/misc/onboard_usb_dev.c
> index 11508ed4df25..c60406240416 100644
> --- a/drivers/usb/misc/onboard_usb_dev.c
> +++ b/drivers/usb/misc/onboard_usb_dev.c
> @@ -706,7 +706,7 @@ static int __init onboard_dev_init(void)
> {
> int ret;
>
> - ret = usb_register_device_driver(&onboard_dev_usbdev_driver,
> THIS_MODULE);
> + ret =
> usb_register_device_driver(&onboard_dev_usbdev_driver);
> if (ret)
> return ret;
>
> diff --git a/drivers/usb/usbip/stub_main.c
> b/drivers/usb/usbip/stub_main.c
> index 79110a69d697..01452f7bdabb 100644
> --- a/drivers/usb/usbip/stub_main.c
> +++ b/drivers/usb/usbip/stub_main.c
> @@ -371,7 +371,7 @@ static int __init usbip_host_init(void)
> return -ENOMEM;
> }
>
> - ret = usb_register_device_driver(&stub_driver, THIS_MODULE);
> + ret = usb_register_device_driver(&stub_driver);
> if (ret) {
> pr_err("usb_register failed %d\n", ret);
> goto err_usb_register;