]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
pinctrl: qcom: Register functions before enabling pinctrl
authorAlexandre MINETTE <contact@alex-min.fr>
Tue, 19 May 2026 07:16:33 +0000 (09:16 +0200)
committerLinus Walleij <linusw@kernel.org>
Thu, 11 Jun 2026 13:03:02 +0000 (15:03 +0200)
commit981aefd53b3cdafae0e45332a1023b80d67f52be
tree90960c7b1e2c881f01eee3411db238a430878f86
parentafa0c07131d8829ea0ebbcd8267c85aa178ce52c
pinctrl: qcom: Register functions before enabling pinctrl

pinctrl consumers can request states while the pinctrl core enables the
controller. On Qualcomm pinctrl drivers this can happen before the SoC
function list has been registered, which leaves the function table
incomplete during state lookup.

On APQ8064 this can fail while claiming pinctrl hogs:

   apq8064-pinctrl 800000.pinctrl: invalid function ps_hold in map table
   apq8064-pinctrl 800000.pinctrl: error claiming hogs: -22
   apq8064-pinctrl 800000.pinctrl: could not claim hogs: -22

Register Qualcomm pinctrl with devm_pinctrl_register_and_init(), add the
SoC pin functions, and only then enable the pinctrl device.

Signed-off-by: Alexandre MINETTE <contact@alex-min.fr>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Linus Walleij <linusw@kernel.org>
drivers/pinctrl/qcom/pinctrl-msm.c