From 9b38ca2258253c5aef96cb36b936a4f3c8a8d1ea Mon Sep 17 00:00:00 2001 From: Peng Yang Date: Mon, 10 Oct 2022 23:42:42 -0700 Subject: [PATCH] pinctrl: qcom: Add pineapple vm pinctrl support Add pineapple vm pinctrl support. Change-Id: I1fcf3866f99d376c8512f22a090d7ce83d17e237 Signed-off-by: Peng Yang --- drivers/pinctrl/qcom/pinctrl-pineapple.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/drivers/pinctrl/qcom/pinctrl-pineapple.c b/drivers/pinctrl/qcom/pinctrl-pineapple.c index a92530af84ec..7da74575eb4d 100644 --- a/drivers/pinctrl/qcom/pinctrl-pineapple.c +++ b/drivers/pinctrl/qcom/pinctrl-pineapple.c @@ -5,6 +5,7 @@ #include #include +#include #include #include @@ -2420,11 +2421,18 @@ static const struct msm_pinctrl_soc_data pineapple_vm_pinctrl = { static int pineapple_pinctrl_probe(struct platform_device *pdev) { - return msm_pinctrl_probe(pdev, &pineapple_pinctrl); + const struct msm_pinctrl_soc_data *pinctrl_data; + struct device *dev = &pdev->dev; + + pinctrl_data = of_device_get_match_data(dev); + if (!pinctrl_data) + return -EINVAL; + + return msm_pinctrl_probe(pdev, pinctrl_data); } static const struct of_device_id pineapple_pinctrl_of_match[] = { - { .compatible = "qcom,pineapple-pinctrl", }, + { .compatible = "qcom,pineapple-pinctrl", .data = &pineapple_pinctrl}, { .compatible = "qcom,pineapple-vm-pinctrl", .data = &pineapple_vm_pinctrl}, { }, }; @@ -2453,3 +2461,4 @@ module_exit(pineapple_pinctrl_exit); MODULE_DESCRIPTION("QTI pineapple pinctrl driver"); MODULE_LICENSE("GPL v2"); MODULE_DEVICE_TABLE(of, pineapple_pinctrl_of_match); +MODULE_SOFTDEP("pre: qcom_tlmm_vm_irqchip");