Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1336337 > unrolled thread
| Started by | Amitoj Kaur Chawla <amitoj1606@gmail.com> |
|---|---|
| First post | 2016-02-17 13:20 +0100 |
| Last post | 2016-02-17 14:20 +0100 |
| Articles | 2 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH] drm/udl: Use module_usb_driver Amitoj Kaur Chawla <amitoj1606@gmail.com> - 2016-02-17 13:20 +0100
Re: [PATCH] drm/udl: Use module_usb_driver Daniel Vetter <daniel@ffwll.ch> - 2016-02-17 14:20 +0100
| From | Amitoj Kaur Chawla <amitoj1606@gmail.com> |
|---|---|
| Date | 2016-02-17 13:20 +0100 |
| Subject | [PATCH] drm/udl: Use module_usb_driver |
| Message-ID | <r39fm-6j5-51@gated-at.bofh.it> |
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@gmail.com>
---
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
[toc] | [next] | [standalone]
| From | Daniel Vetter <daniel@ffwll.ch> |
|---|---|
| Date | 2016-02-17 14:20 +0100 |
| Message-ID | <r3abn-6Vb-7@gated-at.bofh.it> |
| In reply to | #1336337 |
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@gmail.com>
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@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web