On Sun, 2017-07-23 at 20:41 +0200, Linus Walleij wrote:
On Thu, Jul 20, 2017 at 10:46 PM, Dmitry Torokhov dmitry.torokhov@gmail.com wrote:
On Thu, Jul 20, 2017 at 5:55 AM, Philipp Zabel p.zabel@pengutronix.de wrote:
What about reset_control_get(struct device *, const char *, int flags) to replace all those variants ?
While I like how this looks, unfortunately (devm_)reset_control_get already exists without the flags, so we can't change to that with a gentle transition.
This was done for gpiod_get() and its flags argument with horrifying #define-ry, which thankfully was completely hidden from users.
For your reference:
commit bae48da237fcedd7ad09569025483b988635efb7 "gpiolib: add gpiod_get() and gpiod_put() functions"
commit 39b2bbe3d715cf5013b5c48695ccdd25bd3bf120 "gpio: add flags argument to gpiod_get*() functions"
commit 0dbc8b7afef6e4fddcfebcbacbeb269a0a3b06d5 "gpio: move varargs hack outside #ifdef GPIOLIB"
commit b17d1bf16cc72a374a48d748940f700009d40ff4 "gpio: make flags mandatory for gpiod_get functions"
Retrospectively ... was that really a good idea... it was a LOT of trouble to add a flag, maybe it had been better to try and just slam all users in a single go.
But it worked.
Thanks for the hint and the references. It seems this turned out okay, but I wouldn't dare to introduce such macro horror^Wmagic. I'd rather have all users converted to the _exclusive/_shared function calls and maybe then replace the internal __reset_control_get with Thomas' suggestion.
regards Philipp