]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
pinctrl: qcom: Drop redundant intr_target_reg on modern SoCs
authorMukesh Ojha <mukesh.ojha@oss.qualcomm.com>
Fri, 27 Mar 2026 17:12:40 +0000 (22:42 +0530)
committerLinus Walleij <linusw@kernel.org>
Mon, 30 Mar 2026 08:29:59 +0000 (10:29 +0200)
commit0720208b37ae4f1193dc7103ee269b180a8f8943
treecb64455f3f26fcd36e9d49450d1c128e4a87e27a
parentfe8933c5b3e2e5294f82da546792268e5687391e
pinctrl: qcom: Drop redundant intr_target_reg on modern SoCs

On all Qualcomm TLMM generations from APQ8084 onwards, the interrupt
target routing bits are located in the same register as the interrupt
configuration bits (intr_cfg_reg). Only five older SoCs — APQ8064,
IPQ8064, MDM9615, MSM8660 and MSM8960 — have a genuinely separate
interrupt target routing register at a different offset (0x400 + 0x4 * id).

Replace MSM_ACCESSOR(intr_target) with a custom accessor that falls back
to intr_cfg_reg when intr_target_reg is zero. Apply the same fallback in
the SCM path. Drop the now-redundant .intr_target_reg initializer from
all SoC drivers where it duplicated intr_cfg_reg, keeping it only in
the five drivers where it genuinely differs.

Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
Signed-off-by: Linus Walleij <linusw@kernel.org>
57 files changed:
drivers/pinctrl/qcom/pinctrl-apq8084.c
drivers/pinctrl/qcom/pinctrl-eliza.c
drivers/pinctrl/qcom/pinctrl-glymur.c
drivers/pinctrl/qcom/pinctrl-ipq4019.c
drivers/pinctrl/qcom/pinctrl-ipq5018.c
drivers/pinctrl/qcom/pinctrl-ipq5332.c
drivers/pinctrl/qcom/pinctrl-ipq5424.c
drivers/pinctrl/qcom/pinctrl-ipq6018.c
drivers/pinctrl/qcom/pinctrl-ipq8074.c
drivers/pinctrl/qcom/pinctrl-ipq9574.c
drivers/pinctrl/qcom/pinctrl-kaanapali.c
drivers/pinctrl/qcom/pinctrl-mdm9607.c
drivers/pinctrl/qcom/pinctrl-milos.c
drivers/pinctrl/qcom/pinctrl-msm.c
drivers/pinctrl/qcom/pinctrl-msm.h
drivers/pinctrl/qcom/pinctrl-msm8226.c
drivers/pinctrl/qcom/pinctrl-msm8909.c
drivers/pinctrl/qcom/pinctrl-msm8916.c
drivers/pinctrl/qcom/pinctrl-msm8917.c
drivers/pinctrl/qcom/pinctrl-msm8953.c
drivers/pinctrl/qcom/pinctrl-msm8976.c
drivers/pinctrl/qcom/pinctrl-msm8994.c
drivers/pinctrl/qcom/pinctrl-msm8996.c
drivers/pinctrl/qcom/pinctrl-msm8998.c
drivers/pinctrl/qcom/pinctrl-msm8x74.c
drivers/pinctrl/qcom/pinctrl-qcm2290.c
drivers/pinctrl/qcom/pinctrl-qcs404.c
drivers/pinctrl/qcom/pinctrl-qcs615.c
drivers/pinctrl/qcom/pinctrl-qcs8300.c
drivers/pinctrl/qcom/pinctrl-qdf2xxx.c
drivers/pinctrl/qcom/pinctrl-qdu1000.c
drivers/pinctrl/qcom/pinctrl-sa8775p.c
drivers/pinctrl/qcom/pinctrl-sar2130p.c
drivers/pinctrl/qcom/pinctrl-sc7180.c
drivers/pinctrl/qcom/pinctrl-sc7280.c
drivers/pinctrl/qcom/pinctrl-sc8180x.c
drivers/pinctrl/qcom/pinctrl-sc8280xp.c
drivers/pinctrl/qcom/pinctrl-sdm660.c
drivers/pinctrl/qcom/pinctrl-sdm670.c
drivers/pinctrl/qcom/pinctrl-sdm845.c
drivers/pinctrl/qcom/pinctrl-sdx55.c
drivers/pinctrl/qcom/pinctrl-sdx65.c
drivers/pinctrl/qcom/pinctrl-sdx75.c
drivers/pinctrl/qcom/pinctrl-sm4450.c
drivers/pinctrl/qcom/pinctrl-sm6115.c
drivers/pinctrl/qcom/pinctrl-sm6125.c
drivers/pinctrl/qcom/pinctrl-sm6350.c
drivers/pinctrl/qcom/pinctrl-sm6375.c
drivers/pinctrl/qcom/pinctrl-sm7150.c
drivers/pinctrl/qcom/pinctrl-sm8150.c
drivers/pinctrl/qcom/pinctrl-sm8250.c
drivers/pinctrl/qcom/pinctrl-sm8350.c
drivers/pinctrl/qcom/pinctrl-sm8450.c
drivers/pinctrl/qcom/pinctrl-sm8550.c
drivers/pinctrl/qcom/pinctrl-sm8650.c
drivers/pinctrl/qcom/pinctrl-sm8750.c
drivers/pinctrl/qcom/pinctrl-x1e80100.c