Re: [PATCH] drm/udl: Use module_usb_driver

From: Daniel Vetter
Date: Wed Feb 17 2016 - 08:19:22 EST


On Wed, Feb 17, 2016 at 05:43:27PM +0530, Amitoj Kaur Chawla wrote:
> Macro module_usb_driver is used for drivers whose init and exit paths
> only register and unregister to usb API. So remove boilerplate code to
> make code simpler by using module_usb_driver.
>
> This change was made with the help of the following Coccinelle
> semantic patch:
>
> //<smpl>
> @a@
> identifier f, x;
> @@
> -static f(...) { return usb_register(&x); }
>
> @b depends on a@
> identifier e, a.x;
> @@
> -static e(...) { usb_deregister(&x); }
>
> @c depends on a && b@
> identifier a.f;
> declarer name module_init;
> @@
> -module_init(f);
>
> @d depends on a && b && c@
> identifier b.e, a.x;
> declarer name module_exit;
> declarer name module_usb_driver;
> @@
> -module_exit(e);
> +module_usb_driver(x);
> //</smpl>
>
> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx>

Applied to drm-misc, thanks.
-Daniel

> ---
> drivers/gpu/drm/udl/udl_drv.c | 14 +-------------
> 1 file changed, 1 insertion(+), 13 deletions(-)
>
> diff --git a/drivers/gpu/drm/udl/udl_drv.c b/drivers/gpu/drm/udl/udl_drv.c
> index d5728ec..772ec9e 100644
> --- a/drivers/gpu/drm/udl/udl_drv.c
> +++ b/drivers/gpu/drm/udl/udl_drv.c
> @@ -125,17 +125,5 @@ static struct usb_driver udl_driver = {
> .disconnect = udl_usb_disconnect,
> .id_table = id_table,
> };
> -
> -static int __init udl_init(void)
> -{
> - return usb_register(&udl_driver);
> -}
> -
> -static void __exit udl_exit(void)
> -{
> - usb_deregister(&udl_driver);
> -}
> -
> -module_init(udl_init);
> -module_exit(udl_exit);
> +module_usb_driver(udl_driver);
> MODULE_LICENSE("GPL");
> --
> 1.9.1
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@xxxxxxxxxxxxxxxxxxxxx
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch