From: Andrew F. Davis Date: Wed, 4 May 2016 22:01:38 +0000 (-0500) Subject: rpmsg: add helper macro module_rpmsg_driver X-Git-Tag: v4.7-rc1~128^2~1 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=f3d9f1ce079370d19b34fc9927b8b1355ac98503;p=linux.git rpmsg: add helper macro module_rpmsg_driver This patch introduces the module_rpmsg_driver macro which is a convenience macro for rpmsg driver modules similar to module_platform_driver. It is intended to be used by drivers which init/exit section does nothing but register/unregister the rpmsg driver. By using this macro it is possible to eliminate a few lines of boilerplate code per rpmsg driver. Signed-off-by: Andrew F. Davis Signed-off-by: Bjorn Andersson --- diff --git a/include/linux/rpmsg.h b/include/linux/rpmsg.h index 7ff5790c185a..ada50ff36da0 100644 --- a/include/linux/rpmsg.h +++ b/include/linux/rpmsg.h @@ -181,6 +181,18 @@ rpmsg_send_offchannel_raw(struct rpmsg_channel *, u32, u32, void *, int, bool); #define register_rpmsg_driver(drv) \ __register_rpmsg_driver(drv, THIS_MODULE) +/** + * module_rpmsg_driver() - Helper macro for registering an rpmsg driver + * @__rpmsg_driver: rpmsg_driver struct + * + * Helper macro for rpmsg 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_rpmsg_driver(__rpmsg_driver) \ + module_driver(__rpmsg_driver, register_rpmsg_driver, \ + unregister_rpmsg_driver) + /** * rpmsg_send() - send a message across to the remote processor * @rpdev: the rpmsg channel