Hello, On Wed, 30 Aug 2017 15:59:00 +0200, Gregory CLEMENT wrote: > > When gpiochip_add_data() calls chip->request, what function is that > > calling? > > the request callback is gpiochip_generic_request so I would be surprised > that there was a bug in it. The call chain leading to the problem is: gpiochip_add_data() chip->request() == gpiochip_generic_request() pinctrl_request_gpio() pinmux_request_gpio() pin_request() ops->gpio_request_enable() == mvebu_pinmux_gpio_request_enable() mvebu_pinconf_group_set() grp->ctrl->mpp_set() == mvebu_regmap_mpp_ctrl_set() So what Timur is saying perhaps is that mvebu_pinmux_gpio_request_enable() shouldn't be changing the type of muxing, and therefore shouldn't be calling mvebu_pinconf_group_set(). However, even the "reference" pinctrl-single.c implementation does it, in pcs_request_gpio(). Am I missing something ? Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html