forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-10 cde9070d9970eef1f7ec2360586c802a16230ad8
kernel/arch/powerpc/platforms/powernv/opal-imc.c
....@@ -1,3 +1,4 @@
1
+// SPDX-License-Identifier: GPL-2.0-or-later
12 /*
23 * OPAL IMC interface detection driver
34 * Supported on POWERNV platform
....@@ -5,11 +6,6 @@
56 * Copyright (C) 2017 Madhavan Srinivasan, IBM Corporation.
67 * (C) 2017 Anju T Sudhakar, IBM Corporation.
78 * (C) 2017 Hemant K Shaw, IBM Corporation.
8
- *
9
- * This program is free software; you can redistribute it and/or
10
- * modify it under the terms of the GNU General Public License
11
- * as published by the Free Software Foundation; either version
12
- * 2 of the License, or later version.
139 */
1410 #include <linux/kernel.h>
1511 #include <linux/platform_device.h>
....@@ -39,11 +35,10 @@
3935 }
4036 DEFINE_DEBUGFS_ATTRIBUTE(fops_imc_x64, imc_mem_get, imc_mem_set, "0x%016llx\n");
4137
42
-static struct dentry *imc_debugfs_create_x64(const char *name, umode_t mode,
43
- struct dentry *parent, u64 *value)
38
+static void imc_debugfs_create_x64(const char *name, umode_t mode,
39
+ struct dentry *parent, u64 *value)
4440 {
45
- return debugfs_create_file_unsafe(name, mode, parent,
46
- value, &fops_imc_x64);
41
+ debugfs_create_file_unsafe(name, mode, parent, value, &fops_imc_x64);
4742 }
4843
4944 /*
....@@ -63,9 +58,6 @@
6358
6459 imc_debugfs_parent = debugfs_create_dir("imc", powerpc_debugfs_root);
6560
66
- if (!imc_debugfs_parent)
67
- return;
68
-
6961 if (of_property_read_u32(node, "cb_offset", &cb_offset))
7062 cb_offset = IMC_CNTL_BLK_OFFSET;
7163
....@@ -73,21 +65,15 @@
7365 loc = (u64)(ptr->vbase) + cb_offset;
7466 imc_mode_addr = (u64 *)(loc + IMC_CNTL_BLK_MODE_OFFSET);
7567 sprintf(mode, "imc_mode_%d", (u32)(ptr->id));
76
- if (!imc_debugfs_create_x64(mode, 0600, imc_debugfs_parent,
77
- imc_mode_addr))
78
- goto err;
68
+ imc_debugfs_create_x64(mode, 0600, imc_debugfs_parent,
69
+ imc_mode_addr);
7970
8071 imc_cmd_addr = (u64 *)(loc + IMC_CNTL_BLK_CMD_OFFSET);
8172 sprintf(cmd, "imc_cmd_%d", (u32)(ptr->id));
82
- if (!imc_debugfs_create_x64(cmd, 0600, imc_debugfs_parent,
83
- imc_cmd_addr))
84
- goto err;
73
+ imc_debugfs_create_x64(cmd, 0600, imc_debugfs_parent,
74
+ imc_cmd_addr);
8575 ptr++;
8676 }
87
- return;
88
-
89
-err:
90
- debugfs_remove_recursive(imc_debugfs_parent);
9177 }
9278
9379 /*
....@@ -281,6 +267,9 @@
281267 case IMC_TYPE_THREAD:
282268 domain = IMC_DOMAIN_THREAD;
283269 break;
270
+ case IMC_TYPE_TRACE:
271
+ domain = IMC_DOMAIN_TRACE;
272
+ break;
284273 default:
285274 pr_warn("IMC Unknown Device type \n");
286275 domain = -1;