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 <afd@ti.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
This commit is contained in:
Andrew F. Davis 2016-05-04 17:01:38 -05:00 committed by Bjorn Andersson
parent 9122bf1839
commit f3d9f1ce07

View file

@ -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