[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJAp7OgU64=KCuDhYEZTYppVeBz6wKvTDsof5vDRznfdZgAfZw@mail.gmail.com>
Date: Wed, 5 Nov 2014 10:11:50 -0800
From: Bjorn Andersson <bjorn@...o.se>
To: "Ivan T. Ivanov" <iivanov@...sol.com>
Cc: Rob Herring <robh+dt@...nel.org>, Pawel Moll <pawel.moll@....com>,
Mark Rutland <mark.rutland@....com>,
Ian Campbell <ijc+devicetree@...lion.org.uk>,
Kumar Gala <galak@...eaurora.org>,
Samuel Ortiz <sameo@...ux.intel.com>,
Lee Jones <lee.jones@...aro.org>,
Stanimir Varbanov <svarbanov@...sol.com>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
linux-arm-msm <linux-arm-msm@...r.kernel.org>
Subject: Re: [PATCH] mfd: qcom-spmi-pmic: Add support for more chips versions
On Tue, Nov 4, 2014 at 5:33 AM, Ivan T. Ivanov <iivanov@...sol.com> wrote:
[..]
> @@ -28,11 +144,27 @@ static int pmic_spmi_probe(struct spmi_device *sdev)
> {
> struct device_node *root = sdev->dev.of_node;
> struct regmap *regmap;
> + struct property *prop;
> + int major, minor, ret;
> + char *name, compatible[32];
>
> regmap = devm_regmap_init_spmi_ext(sdev, &spmi_regmap_config);
> if (IS_ERR(regmap))
> return PTR_ERR(regmap);
>
> + ret = pmic_spmi_read_revid(regmap, &name, &major, &minor);
> + if (!ret) {
> + snprintf(compatible, ARRAY_SIZE(compatible), "qcom,%s-v%d.%d",
> + name, major, minor);
> + prop = kzalloc(sizeof(*prop), GFP_KERNEL);
> + if (prop) {
> + prop->name = kstrdup("compatible", GFP_KERNEL);
> + prop->value = kstrdup(compatible, GFP_KERNEL);
> + prop->length = strlen(prop->value);
> + of_update_property(root, prop);
> + }
> + }
> +
Why would you do this?
What benefit does it give to patch the of_node to have a more specific
compatible?
It is no longer matching any compatible defined in the kernel and is
anyone actually looking at this?
Reading out the revid information and providing that in some way to
the children could be beneficial, except for qpnp already giving you
this version information per block.
[..]
> @@ -45,7 +177,17 @@ static const struct of_device_id pmic_spmi_id_table[] = {
> { .compatible = "qcom,spmi-pmic" },
> { .compatible = "qcom,pm8941" },
> { .compatible = "qcom,pm8841" },
> + { .compatible = "qcom,pm8019" },
> + { .compatible = "qcom,pm8226" },
> + { .compatible = "qcom,pm8110" },
> { .compatible = "qcom,pma8084" },
> + { .compatible = "qcom,pmi8962" },
> + { .compatible = "qcom,pmd9635" },
> + { .compatible = "qcom,pm8994" },
> + { .compatible = "qcom,pmi8994" },
> + { .compatible = "qcom,pm8916" },
> + { .compatible = "qcom,pm8004" },
> + { .compatible = "qcom,pm8909" },
> { }
This part is good, please send this out on it's own.
Regards,
Bjorn
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists