[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6b1c4368-72e2-79e4-37c5-d333bb6bec5d@codeaurora.org>
Date: Tue, 31 Aug 2021 20:03:42 +0530
From: Deepak Kumar Singh <deesin@...eaurora.org>
To: Bjorn Andersson <bjorn.andersson@...aro.org>
Cc: swboyd@...omium.org, clew@...eaurora.org, sibis@...eaurora.org,
linux-kernel@...r.kernel.org, linux-arm-msm@...r.kernel.org,
linux-remoteproc@...r.kernel.org, Andy Gross <agross@...nel.org>
Subject: Re: [PATCH V7 2/2] soc: qcom: aoss: Add debugfs entry
On 8/31/2021 4:48 AM, Bjorn Andersson wrote:
> On Mon 30 Aug 06:37 CDT 2021, Deepak Kumar Singh wrote:
>
>> Some user space clients may require to change power states of various
>> parts of hardware. Add a debugfs node for qmp so messages can be sent
>> to aoss from user space.
>>
> I think this could be a useful tool while testing and developing client
> drivers or perhaps during bringup of new platforms.
>
> But your new commit message doesn't sound right, given that debugfs
> isn't mounted in your production builds.
>
> Regards,
> Bjorn
Updated commit message in V8.
>
>> Signed-off-by: Chris Lew <clew@...eaurora.org>
>> Signed-off-by: Deepak Kumar Singh <deesin@...eaurora.org>
>> ---
>> drivers/soc/qcom/qcom_aoss.c | 32 ++++++++++++++++++++++++++++++++
>> 1 file changed, 32 insertions(+)
>>
>> diff --git a/drivers/soc/qcom/qcom_aoss.c b/drivers/soc/qcom/qcom_aoss.c
>> index bf0a6280..4cd8670 100644
>> --- a/drivers/soc/qcom/qcom_aoss.c
>> +++ b/drivers/soc/qcom/qcom_aoss.c
>> @@ -4,6 +4,7 @@
>> */
>> #include <dt-bindings/power/qcom-aoss-qmp.h>
>> #include <linux/clk-provider.h>
>> +#include <linux/debugfs.h>
>> #include <linux/interrupt.h>
>> #include <linux/io.h>
>> #include <linux/mailbox_client.h>
>> @@ -86,6 +87,7 @@ struct qmp {
>> struct clk_hw qdss_clk;
>> struct genpd_onecell_data pd_data;
>> struct qmp_cooling_device *cooling_devs;
>> + struct dentry *debugfs_file;
>> };
>>
>> struct qmp_pd {
>> @@ -566,6 +568,31 @@ void qmp_put(struct qmp *qmp)
>> }
>> EXPORT_SYMBOL(qmp_put);
>>
>> +static ssize_t aoss_dbg_write(struct file *file, const char __user *userstr,
>> + size_t len, loff_t *pos)
>> +{
>> + struct qmp *qmp = file->private_data;
>> + char buf[QMP_MSG_LEN] = {};
>> + int ret;
>> +
>> + if (!len || len >= QMP_MSG_LEN)
>> + return -EINVAL;
>> +
>> + ret = copy_from_user(buf, userstr, len);
>> + if (ret) {
>> + return -EFAULT;
>> + }
>> +
>> + ret = qmp_send(qmp, buf, QMP_MSG_LEN);
>> +
>> + return ret ? ret : len;
>> +}
>> +
>> +static const struct file_operations aoss_dbg_fops = {
>> + .open = simple_open,
>> + .write = aoss_dbg_write,
>> +};
>> +
>> static int qmp_probe(struct platform_device *pdev)
>> {
>> struct resource *res;
>> @@ -620,6 +647,9 @@ static int qmp_probe(struct platform_device *pdev)
>>
>> platform_set_drvdata(pdev, qmp);
>>
>> + qmp->debugfs_file = debugfs_create_file("aoss_send_message", 0220, NULL,
>> + qmp, &aoss_dbg_fops);
>> +
>> return 0;
>>
>> err_remove_qdss_clk:
>> @@ -636,6 +666,8 @@ static int qmp_remove(struct platform_device *pdev)
>> {
>> struct qmp *qmp = platform_get_drvdata(pdev);
>>
>> + debugfs_remove(qmp->debugfs_file);
>> +
>> qmp_qdss_clk_remove(qmp);
>> qmp_pd_remove(qmp);
>> qmp_cooling_devices_remove(qmp);
>> --
>> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
>> a Linux Foundation Collaborative Project
>>
Powered by blists - more mailing lists