From 95099d4622f8cb224d94e314c7a8e0df60b13f87 Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Sat, 09 Dec 2023 08:38:01 +0000
Subject: [PATCH] enable docker ppp
---
kernel/drivers/soc/rockchip/rockchip_amp.c | 42 +++++++++++++++++++-----------------------
1 files changed, 19 insertions(+), 23 deletions(-)
diff --git a/kernel/drivers/soc/rockchip/rockchip_amp.c b/kernel/drivers/soc/rockchip/rockchip_amp.c
index 59cd030..6c66362 100644
--- a/kernel/drivers/soc/rockchip/rockchip_amp.c
+++ b/kernel/drivers/soc/rockchip/rockchip_amp.c
@@ -113,8 +113,10 @@
int ret, idx;
ret = sscanf(buf, "%s", cmd);
- if (ret != 1)
+ if (ret != 1) {
+ pr_info("Use on/off [cpu id] or status [cpu id]\n");
return -EINVAL;
+ }
if (!strncmp(cmd, "status", strlen("status"))) {
ret = sscanf(buf, "%s %lx", cmd, &cpu_id);
@@ -232,10 +234,8 @@
if (rkamp_dev->num_clks < 0)
return -ENODEV;
ret = clk_bulk_prepare_enable(rkamp_dev->num_clks, rkamp_dev->clks);
- if (ret) {
- dev_err(&pdev->dev, "failed to prepare enable clks: %d\n", ret);
- return ret;
- }
+ if (ret)
+ return dev_err_probe(&pdev->dev, ret, "failed to prepare enable clks: %d\n", ret);
pm_runtime_enable(&pdev->dev);
@@ -249,19 +249,17 @@
return -ENOMEM;
if (rkamp_dev->num_pds == 1) {
- ret = pm_runtime_get_sync(&pdev->dev);
- if (ret < 0) {
- dev_err(&pdev->dev, "failed to get power-domain\n");
- return ret;
- }
+ ret = pm_runtime_resume_and_get(&pdev->dev);
+ if (ret < 0)
+ return dev_err_probe(&pdev->dev, ret,
+ "failed to get power-domain\n");
} else {
for (i = 0; i < rkamp_dev->num_pds; i++) {
rkamp_dev->pd_dev[i] = dev_pm_domain_attach_by_id(&pdev->dev, i);
- ret = pm_runtime_get_sync(rkamp_dev->pd_dev[i]);
- if (ret < 0) {
- dev_err(&pdev->dev, "failed to get pd_dev[%d]\n", i);
- return ret;
- }
+ ret = pm_runtime_resume_and_get(rkamp_dev->pd_dev[i]);
+ if (ret < 0)
+ return dev_err_probe(&pdev->dev, ret,
+ "failed to get pd_dev[%d]\n", i);
}
}
}
@@ -283,10 +281,8 @@
for (i = 0; i < ARRAY_SIZE(rk_amp_attrs); i++) {
ret = sysfs_create_file(rk_amp_kobj, &rk_amp_attrs[i].attr);
- if (ret) {
- dev_err(&pdev->dev, "create file index %d error\n", i);
- return ret;
- }
+ if (ret)
+ return dev_err_probe(&pdev->dev, ret, "create file index %d error\n", i);
}
return 0;
@@ -320,9 +316,9 @@
}
static const struct of_device_id rockchip_amp_match[] = {
- {
- .compatible = "rockchip,rk3568-amp",
- },
+ { .compatible = "rockchip,amp" },
+ { .compatible = "rockchip,mcu-amp" },
+ { .compatible = "rockchip,rk3568-amp" },
{ /* sentinel */ },
};
@@ -340,4 +336,4 @@
MODULE_DESCRIPTION("Rockchip AMP driver");
MODULE_AUTHOR("Tony xie<tony.xie@rock-chips.com>");
-MODULE_LICENSE("GPL v2");
+MODULE_LICENSE("GPL");
--
Gitblit v1.6.2