summaryrefslogtreecommitdiffstats
path: root/drivers/pinctrl/qcom/pinctrl-spmi-mpp.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/pinctrl/qcom/pinctrl-spmi-mpp.c')
-rw-r--r--drivers/pinctrl/qcom/pinctrl-spmi-mpp.c25
1 files changed, 10 insertions, 15 deletions
diff --git a/drivers/pinctrl/qcom/pinctrl-spmi-mpp.c b/drivers/pinctrl/qcom/pinctrl-spmi-mpp.c
index 2da9b5f68f3f..a9f994863126 100644
--- a/drivers/pinctrl/qcom/pinctrl-spmi-mpp.c
+++ b/drivers/pinctrl/qcom/pinctrl-spmi-mpp.c
@@ -812,11 +812,7 @@ static int pmic_mpp_probe(struct platform_device *pdev)
return ret;
}
- npins = platform_irq_count(pdev);
- if (!npins)
- return -EINVAL;
- if (npins < 0)
- return npins;
+ npins = (uintptr_t) device_get_match_data(&pdev->dev);
BUG_ON(npins > ARRAY_SIZE(pmic_mpp_groups));
@@ -912,16 +908,15 @@ static int pmic_mpp_remove(struct platform_device *pdev)
}
static const struct of_device_id pmic_mpp_of_match[] = {
- { .compatible = "qcom,pm8019-mpp" }, /* 6 MPP's */
- { .compatible = "qcom,pm8841-mpp" }, /* 4 MPP's */
- { .compatible = "qcom,pm8916-mpp" }, /* 4 MPP's */
- { .compatible = "qcom,pm8941-mpp" }, /* 8 MPP's */
- { .compatible = "qcom,pm8950-mpp" }, /* 4 MPP's */
- { .compatible = "qcom,pmi8950-mpp" }, /* 4 MPP's */
- { .compatible = "qcom,pm8994-mpp" }, /* 8 MPP's */
- { .compatible = "qcom,pma8084-mpp" }, /* 8 MPP's */
- { .compatible = "qcom,pmi8994-mpp" }, /* 4 MPP's */
- { .compatible = "qcom,spmi-mpp" }, /* Generic */
+ { .compatible = "qcom,pm8019-mpp", .data = (void *) 6 },
+ { .compatible = "qcom,pm8841-mpp", .data = (void *) 4 },
+ { .compatible = "qcom,pm8916-mpp", .data = (void *) 4 },
+ { .compatible = "qcom,pm8941-mpp", .data = (void *) 8 },
+ { .compatible = "qcom,pm8950-mpp", .data = (void *) 4 },
+ { .compatible = "qcom,pmi8950-mpp", .data = (void *) 4 },
+ { .compatible = "qcom,pm8994-mpp", .data = (void *) 8 },
+ { .compatible = "qcom,pma8084-mpp", .data = (void *) 8 },
+ { .compatible = "qcom,pmi8994-mpp", .data = (void *) 4 },
{ },
};