Re: [PATCH -next v2] I2C: Fix return value check for devm_pinctrl_get()
From: Yann Sionneau <hidden>
Date: 2023-08-17 23:15:07
Also in:
linux-gpio, linux-i2c
From: Yann Sionneau <hidden>
Date: 2023-08-17 23:15:07
Also in:
linux-gpio, linux-i2c
Hi, Le 17/08/2023 à 19:30, Leo Li a écrit :
quoted
The devm_pinctrl_get() function returns error pointers and never returns NULL. Update the checks accordingly.Not exactly. It can return NULL when CONFIG_PINCTRL is not defined. We probably should fix that API too. include/linux/pinctrl/consumer.h: static inline struct pinctrl * __must_check devm_pinctrl_get(struct device *dev) { return NULL; }
So, as Leo pointed out it seems devm_pinctrl_get() can in fact return NULL, when CONFIG_PINCTRL is not defined. What do we do about this? Proposals: 1/ make sure all call sites of devm_pinctrl_get() do check for error with IS_ERR *and* check for NULL => therefore using IS_ERR_OR_NULL 2/ change the fallback implementation in include/linux/pinctrl/consumer.h to return ERR_PTR(-Esomething) (which errno?) 3/ another solution? Regards, -- Yann _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel