For simple modules that contain a single rc_map_list without any
additional setup code then ends up being a block of duplicated
boilerplate. This patch adds a new macro, module_rc_map_list(),
which replaces the module_init()/module_exit() registrations with
template functions.
Signed-off-by: Vaishali Thakkar <[email protected]>
---
include/media/rc-map.h | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/include/media/rc-map.h b/include/media/rc-map.h
index 27763d5..07e765d 100644
--- a/include/media/rc-map.h
+++ b/include/media/rc-map.h
@@ -96,6 +96,16 @@ struct rc_map_list {
struct rc_map map;
};
+/**
+ * module_rc_map_list() - Helper macro for registering a RC drivers
+ * @__rc_map_list: rc_map_list struct
+ * Helper macro for RC drivers which do not do anything special in module
+ * init/exit. This eliminates a lot of boilerplate. Each module may only
+ * use this macro once, and calling it replaces module_init() and module_exit()
+ */
+#define module_rc_map_list(__rc_map_list) \
+ module_driver(__rc_map_list, rc_map_register, rc_map_unregister)
+
/* Routines from rc-map.c */
int rc_map_register(struct rc_map_list *map);
--
1.9.1
Em Sat, 11 Jul 2015 08:47:37 +0530
Vaishali Thakkar <[email protected]> escreveu:
> For simple modules that contain a single rc_map_list without any
> additional setup code then ends up being a block of duplicated
> boilerplate. This patch adds a new macro, module_rc_map_list(),
> which replaces the module_init()/module_exit() registrations with
> template functions.
>
> Signed-off-by: Vaishali Thakkar <[email protected]>
> ---
> include/media/rc-map.h | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/include/media/rc-map.h b/include/media/rc-map.h
> index 27763d5..07e765d 100644
> --- a/include/media/rc-map.h
> +++ b/include/media/rc-map.h
> @@ -96,6 +96,16 @@ struct rc_map_list {
> struct rc_map map;
> };
>
> +/**
> + * module_rc_map_list() - Helper macro for registering a RC drivers
> + * @__rc_map_list: rc_map_list struct
> + * Helper macro for RC drivers which do not do anything special in module
> + * init/exit. This eliminates a lot of boilerplate. Each module may only
> + * use this macro once, and calling it replaces module_init() and module_exit()
> + */
> +#define module_rc_map_list(__rc_map_list) \
> + module_driver(__rc_map_list, rc_map_register, rc_map_unregister)
> +
What's the sense of adding it, if no driver is using the new macro?
It would make sense if you had sent it as part of a patch series
making it to be used by the existing drivers.
--
Thanks,
Mauro