On Mon, 21 Oct 2024 at 10:23, Johan Hovold johan@kernel.org wrote:
On Fri, Oct 18, 2024 at 03:49:34PM +0300, Abel Vesa wrote:
The assignment of the of_node to the aux bridge needs to mark the of_node as reused as well, otherwise resource providers like pinctrl will report a gpio as already requested by a different device when both pinconf and gpios property are present.
I don't think you need a gpio property for that to happen, right? And this causes probe to fail IIRC?
No, just having a pinctrl property in the bridge device is enough. Without this fix when the aux subdevice is being bound to the driver, the pinctrl_bind_pins() will attempt to bind pins, which are already in use by the actual bridge device.
Fix that by using the device_set_of_node_from_dev() helper instead.
Fixes: 6914968a0b52 ("drm/bridge: properly refcount DT nodes in aux bridge drivers")
This is not the commit that introduced the issue.
Cc: stable@vger.kernel.org # 6.8
I assume there are no existing devicetrees that need this since then we would have heard about it sooner. Do we still need to backport it?
When exactly are you hitting this?
Cc: Dmitry Baryshkov dmitry.baryshkov@linaro.org Signed-off-by: Abel Vesa abel.vesa@linaro.org
Changes in v2:
- Re-worded commit to be more explicit of what it fixes, as Johan suggested
- Used device_set_of_node_from_dev() helper, as per Johan's suggestion
- Added Fixes tag and cc'ed stable
- Link to v1: https://lore.kernel.org/r/20241017-drm-aux-bridge-mark-of-node-reused-v1-1-7...
Patch itself looks good now.
Johan