diff options
author | Andrew F. Davis <afd@ti.com> | 2016-05-04 17:01:38 -0500 |
---|---|---|
committer | Bjorn Andersson <bjorn.andersson@linaro.org> | 2016-05-06 11:09:00 -0700 |
commit | f3d9f1ce079370d19b34fc9927b8b1355ac98503 (patch) | |
tree | c4e29565048d75716f29d53cc8a4d6ebee30cd68 /include/linux/rpmsg.h | |
parent | 9122bf1839c039a0052c0a75a3c4daf9277b5dd5 (diff) | |
download | linux-stable-f3d9f1ce079370d19b34fc9927b8b1355ac98503.tar.gz linux-stable-f3d9f1ce079370d19b34fc9927b8b1355ac98503.tar.bz2 linux-stable-f3d9f1ce079370d19b34fc9927b8b1355ac98503.zip |
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>
Diffstat (limited to 'include/linux/rpmsg.h')
-rw-r--r-- | include/linux/rpmsg.h | 12 |
1 files changed, 12 insertions, 0 deletions
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 @@ -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 |