hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/drivers/soc/rockchip/rockchip_amp.c
....@@ -113,8 +113,10 @@
113113 int ret, idx;
114114
115115 ret = sscanf(buf, "%s", cmd);
116
- if (ret != 1)
116
+ if (ret != 1) {
117
+ pr_info("Use on/off [cpu id] or status [cpu id]\n");
117118 return -EINVAL;
119
+ }
118120
119121 if (!strncmp(cmd, "status", strlen("status"))) {
120122 ret = sscanf(buf, "%s %lx", cmd, &cpu_id);
....@@ -232,10 +234,8 @@
232234 if (rkamp_dev->num_clks < 0)
233235 return -ENODEV;
234236 ret = clk_bulk_prepare_enable(rkamp_dev->num_clks, rkamp_dev->clks);
235
- if (ret) {
236
- dev_err(&pdev->dev, "failed to prepare enable clks: %d\n", ret);
237
- return ret;
238
- }
237
+ if (ret)
238
+ return dev_err_probe(&pdev->dev, ret, "failed to prepare enable clks: %d\n", ret);
239239
240240 pm_runtime_enable(&pdev->dev);
241241
....@@ -249,19 +249,17 @@
249249 return -ENOMEM;
250250
251251 if (rkamp_dev->num_pds == 1) {
252
- ret = pm_runtime_get_sync(&pdev->dev);
253
- if (ret < 0) {
254
- dev_err(&pdev->dev, "failed to get power-domain\n");
255
- return ret;
256
- }
252
+ ret = pm_runtime_resume_and_get(&pdev->dev);
253
+ if (ret < 0)
254
+ return dev_err_probe(&pdev->dev, ret,
255
+ "failed to get power-domain\n");
257256 } else {
258257 for (i = 0; i < rkamp_dev->num_pds; i++) {
259258 rkamp_dev->pd_dev[i] = dev_pm_domain_attach_by_id(&pdev->dev, i);
260
- ret = pm_runtime_get_sync(rkamp_dev->pd_dev[i]);
261
- if (ret < 0) {
262
- dev_err(&pdev->dev, "failed to get pd_dev[%d]\n", i);
263
- return ret;
264
- }
259
+ ret = pm_runtime_resume_and_get(rkamp_dev->pd_dev[i]);
260
+ if (ret < 0)
261
+ return dev_err_probe(&pdev->dev, ret,
262
+ "failed to get pd_dev[%d]\n", i);
265263 }
266264 }
267265 }
....@@ -283,10 +281,8 @@
283281
284282 for (i = 0; i < ARRAY_SIZE(rk_amp_attrs); i++) {
285283 ret = sysfs_create_file(rk_amp_kobj, &rk_amp_attrs[i].attr);
286
- if (ret) {
287
- dev_err(&pdev->dev, "create file index %d error\n", i);
288
- return ret;
289
- }
284
+ if (ret)
285
+ return dev_err_probe(&pdev->dev, ret, "create file index %d error\n", i);
290286 }
291287
292288 return 0;
....@@ -320,9 +316,9 @@
320316 }
321317
322318 static const struct of_device_id rockchip_amp_match[] = {
323
- {
324
- .compatible = "rockchip,rk3568-amp",
325
- },
319
+ { .compatible = "rockchip,amp" },
320
+ { .compatible = "rockchip,mcu-amp" },
321
+ { .compatible = "rockchip,rk3568-amp" },
326322 { /* sentinel */ },
327323 };
328324
....@@ -340,4 +336,4 @@
340336
341337 MODULE_DESCRIPTION("Rockchip AMP driver");
342338 MODULE_AUTHOR("Tony xie<tony.xie@rock-chips.com>");
343
-MODULE_LICENSE("GPL v2");
339
+MODULE_LICENSE("GPL");