pinctrl: stmfx: fix valid_mask init sequence
authorAmelie Delaunay <amelie.delaunay@st.com>
Mon, 4 Nov 2019 10:09:08 +0000 (11:09 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Thu, 7 Nov 2019 09:06:46 +0000 (10:06 +0100)
commit63e006c107ff4235d2a8fd52704f283d23642537
tree7ec9ff9b2294bfdaf51fd5d0382aad30aede73fa
parent451a59bd1f3dd17fcd5337a4fa40e42c56c7dd37
pinctrl: stmfx: fix valid_mask init sequence

With stmfx_pinctrl_gpio_init_valid_mask callback, gpio_valid_mask was used
to initialize gpiochip valid_mask for gpiolib. But gpio_valid_mask was not
yet initialized. gpio_valid_mask required gpio-ranges to be registered,
this is the case after gpiochip_add_data call. But init_valid_mask
callback is also called under gpiochip_add_data. gpio_valid_mask
initialization cannot be moved before gpiochip_add_data because
gpio-ranges are not registered.
So, it is not possible to use init_valid_mask callback.
To avoid this issue, get rid of valid_mask and rely on ranges.

Fixes: da9b142ab2c5 ("pinctrl: stmfx: Use the callback to populate valid_mask")
Signed-off-by: Amelie Delaunay <amelie.delaunay@st.com>
Link: https://lore.kernel.org/r/20191104100908.10880-1-amelie.delaunay@st.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-stmfx.c