From: Bjorn Andersson <bjorn.andersson@linaro.org>
To: Vaishali Thakkar <vaishali.thakkar@linaro.org>
Cc: andy.gross@linaro.org, david.brown@linaro.org,
gregkh@linuxfoundation.org, linux-arm-msm@vger.kernel.org,
linux-kernel@vger.kernel.org, rafael@kernel.org,
vkoul@kernel.org
Subject: Re: [PATCH v4 4/5] soc: qcom: socinfo: Expose custom attributes
Date: Fri, 1 Mar 2019 11:42:49 -0800 [thread overview]
Message-ID: <20190301194249.GD27005@builder> (raw)
In-Reply-To: <20190225065044.11023-5-vaishali.thakkar@linaro.org>
On Sun 24 Feb 22:50 PST 2019, Vaishali Thakkar wrote:
> +#ifdef CONFIG_DEBUG_FS
> +/* pmic model info */
Please drop this comment and make "pmic_model" plural.
> +static const char *const pmic_model[] = {
> + [0] = "Unknown PMIC model",
> + [9] = "PM8994",
> + [11] = "PM8916",
> + [13] = "PM8058",
> + [14] = "PM8028",
> + [15] = "PM8901",
> + [16] = "PM8027",
> + [17] = "ISL9519",
> + [18] = "PM8921",
> + [19] = "PM8018",
> + [20] = "PM8015",
> + [21] = "PM8014",
> + [22] = "PM8821",
> + [23] = "PM8038",
> + [24] = "PM8922",
> + [25] = "PM8917",
> +};
> +#endif /* CONFIG_DEBUG_FS */
[..]
> +static int qcom_show_pmic_model(struct seq_file *seq, void *p)
> +{
> + struct socinfo *socinfo = seq->private;
> + int model = SOCINFO_MINOR(le32_to_cpu(socinfo->pmic_model));
> +
> + if (model < 0)
> + return -EINVAL;
You need to deal with the fact that model might be >=
ARRAY_SIZE(pmic_model) and that pmic_mode[model] might be NULL, in the
event that you missed entries in the list or this driver is used on
newer platforms.
> +
> + seq_printf(seq, "%s\n", pmic_model[model]);
> +
> + return 0;
> +}
> +
> +static int qcom_show_pmic_die_revision(struct seq_file *seq, void *p)
> +{
> + struct socinfo *socinfo = seq->private;
> +
> + seq_printf(seq, "%u.%u\n",
> + SOCINFO_MAJOR(le32_to_cpu(socinfo->pmic_die_rev)),
> + SOCINFO_MINOR(le32_to_cpu(socinfo->pmic_die_rev)));
> +
> + return 0;
> +}
> +
> +UINT_SHOW(raw_version, raw_ver);
> +UINT_SHOW(hardware_platform, hw_plat);
> +UINT_SHOW(platform_version, plat_ver);
> +UINT_SHOW(foundry_id, foundry_id);
> +HEX_SHOW(chip_family, chip_family);
> +HEX_SHOW(raw_device_family, raw_device_family);
> +HEX_SHOW(raw_device_number, raw_device_num);
> +QCOM_OPEN(build_id, qcom_show_build_id);
> +QCOM_OPEN(accessory_chip, qcom_show_accessory_chip);
> +QCOM_OPEN(pmic_model, qcom_show_pmic_model);
> +QCOM_OPEN(platform_subtype, qcom_show_platform_subtype);
> +QCOM_OPEN(pmic_die_revision, qcom_show_pmic_die_revision);
> +
> +static void socinfo_debugfs_init(struct qcom_socinfo *qcom_socinfo)
> +{
> + qcom_socinfo->dbg_root = debugfs_create_dir("qcom_socinfo", NULL);
> +
> + DEBUGFS_UINT_ADD(raw_version);
> + DEBUGFS_UINT_ADD(hardware_platform);
Note that the content of struct socinfo has grown over time, so based on
the comments in the struct the size of the struct would not cover
hw_plat if version < 3.
So you should make the addition of these conditional on socinfo->ver.
As each version adds more entries I suggest that you do this with a:
switch (qcom_socinfo->socinfo->ver) {
case 12:
add v12 entries;
case 11:
add v11 entries;
case 10:
add v10 entries;
...
};
> + DEBUGFS_UINT_ADD(platform_version);
> + DEBUGFS_UINT_ADD(foundry_id);
> + DEBUGFS_HEX_ADD(chip_family);
> + DEBUGFS_HEX_ADD(raw_device_family);
> + DEBUGFS_HEX_ADD(raw_device_number);
> + DEBUGFS_ADD(build_id);
> + DEBUGFS_ADD(accessory_chip);
> + DEBUGFS_ADD(pmic_model);
> + DEBUGFS_ADD(platform_subtype);
> + DEBUGFS_ADD(pmic_die_revision);
> +}
> +
Regards,
Bjorn
next prev parent reply other threads:[~2019-03-01 19:42 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-25 6:50 [PATCH v4 0/5] soc: qcom: Add SoC info driver Vaishali Thakkar
2019-02-25 6:50 ` [PATCH v4 1/5] base: soc: Add serial_number attribute to soc Vaishali Thakkar
2019-02-28 19:23 ` Stephen Boyd
2019-02-25 6:50 ` [PATCH v4 2/5] base: soc: Export soc_device_register/unregister APIs Vaishali Thakkar
2019-02-28 19:23 ` Stephen Boyd
2019-03-01 19:08 ` Bjorn Andersson
2019-02-25 6:50 ` [PATCH v4 3/5] soc: qcom: Add socinfo driver Vaishali Thakkar
2019-02-28 19:34 ` Stephen Boyd
2019-03-01 19:23 ` Bjorn Andersson
2019-02-25 6:50 ` [PATCH v4 4/5] soc: qcom: socinfo: Expose custom attributes Vaishali Thakkar
2019-02-28 21:32 ` Stephen Boyd
2019-03-14 11:25 ` Vaishali Thakkar
2019-03-14 15:58 ` Stephen Boyd
2019-03-21 5:51 ` Vaishali Thakkar
2019-03-23 0:01 ` Stephen Boyd
2019-03-24 17:42 ` Vaishali Thakkar
2019-03-25 16:01 ` Stephen Boyd
2019-03-25 20:58 ` Vaishali Thakkar
2019-03-01 19:42 ` Bjorn Andersson [this message]
2019-02-25 6:50 ` [PATCH v4 5/5] soc: qcom: socinfo: Expose image information Vaishali Thakkar
2019-02-28 21:34 ` Stephen Boyd
2019-03-01 19:51 ` Bjorn Andersson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190301194249.GD27005@builder \
--to=bjorn.andersson@linaro.org \
--cc=andy.gross@linaro.org \
--cc=david.brown@linaro.org \
--cc=gregkh@linuxfoundation.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rafael@kernel.org \
--cc=vaishali.thakkar@linaro.org \
--cc=vkoul@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox