Re: [PATCH] mfd: qcom-spmi-pmic: Add support for more chips versions
From: Ivan T. Ivanov <hidden>
Date: 2014-11-05 18:31:20
Also in:
linux-arm-msm, lkml
On Wed, 2014-11-05 at 10:11 -0800, Bjorn Andersson wrote:
On Tue, Nov 4, 2014 at 5:33 AM, Ivan T. Ivanov [off-list ref] wrote: [..]quoted
@@ -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?
Some of the child device drivers have to know PMIC chip revision. Regards, Ivan