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 <afd@xxxxxx> --- include/linux/rpmsg.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/include/linux/rpmsg.h b/include/linux/rpmsg.h index 7ff5790..ada50ff 100644 --- a/include/linux/rpmsg.h +++ b/include/linux/rpmsg.h @@ -182,6 +182,18 @@ rpmsg_send_offchannel_raw(struct rpmsg_channel *, u32, u32, void *, int, bool); __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 * @data: payload of message -- 2.8.2 -- To unsubscribe from this list: send the line "unsubscribe linux-remoteproc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html