Message ID | 1561354834-22617-2-git-send-email-info@metux.net |
---|---|
State | New |
Headers | show |
Series | [1/2] siox: add helper macro to simplify driver registration | expand |
On Mon, Jun 24, 2019 at 07:40:33AM +0200, Enrico Weigelt, metux IT consult wrote: > From: Enrico Weigelt <info@metux.net> > > Add more helper macros for trivial driver init cases, similar to the > already existing module_platform_driver() or module_i2c_driver(). > > This helps to reduce driver init boilerplate. > > Signed-off-by: Enrico Weigelt <info@metux.net> Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> @Linus: Feel free to apply both patches via your gpio tree. Best regards Uwe
On Mon, Jun 24, 2019 at 7:40 AM Enrico Weigelt, metux IT consult <info@metux.net> wrote: > From: Enrico Weigelt <info@metux.net> > > Add more helper macros for trivial driver init cases, similar to the > already existing module_platform_driver() or module_i2c_driver(). > > This helps to reduce driver init boilerplate. > > Signed-off-by: Enrico Weigelt <info@metux.net> Patch applied with Uwe's ACK. Yours, Linus Walleij
On 25.06.19 11:26, Linus Walleij wrote: > On Mon, Jun 24, 2019 at 7:40 AM Enrico Weigelt, metux IT consult > <info@metux.net> wrote: > >> From: Enrico Weigelt <info@metux.net> >> >> Add more helper macros for trivial driver init cases, similar to the >> already existing module_platform_driver() or module_i2c_driver(). >> >> This helps to reduce driver init boilerplate. >> >> Signed-off-by: Enrico Weigelt <info@metux.net> > > Patch applied with Uwe's ACK. thanks to both of you :) --mtx
diff --git a/include/linux/siox.h b/include/linux/siox.h index a860cb8..da7225b 100644 --- a/include/linux/siox.h +++ b/include/linux/siox.h @@ -72,3 +72,13 @@ static inline void siox_driver_unregister(struct siox_driver *sdriver) { return driver_unregister(&sdriver->driver); } + +/* + * module_siox_driver() - Helper macro for drivers that don't 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_siox_driver(__siox_driver) \ + module_driver(__siox_driver, siox_driver_register, \ + siox_driver_unregister)