hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
kernel/arch/arm/mach-imx/cpu.c
....@@ -4,8 +4,6 @@
44 #include <linux/io.h>
55 #include <linux/of.h>
66 #include <linux/of_address.h>
7
-#include <linux/slab.h>
8
-#include <linux/sys_soc.h>
97
108 #include "hardware.h"
119 #include "common.h"
....@@ -71,97 +69,4 @@
7169 WARN_ON(!aips_base_addr);
7270 imx_set_aips(aips_base_addr);
7371 }
74
-}
75
-
76
-struct device * __init imx_soc_device_init(void)
77
-{
78
- struct soc_device_attribute *soc_dev_attr;
79
- struct soc_device *soc_dev;
80
- struct device_node *root;
81
- const char *soc_id;
82
- int ret;
83
-
84
- soc_dev_attr = kzalloc(sizeof(*soc_dev_attr), GFP_KERNEL);
85
- if (!soc_dev_attr)
86
- return NULL;
87
-
88
- soc_dev_attr->family = "Freescale i.MX";
89
-
90
- root = of_find_node_by_path("/");
91
- ret = of_property_read_string(root, "model", &soc_dev_attr->machine);
92
- of_node_put(root);
93
- if (ret)
94
- goto free_soc;
95
-
96
- switch (__mxc_cpu_type) {
97
- case MXC_CPU_MX1:
98
- soc_id = "i.MX1";
99
- break;
100
- case MXC_CPU_MX21:
101
- soc_id = "i.MX21";
102
- break;
103
- case MXC_CPU_MX25:
104
- soc_id = "i.MX25";
105
- break;
106
- case MXC_CPU_MX27:
107
- soc_id = "i.MX27";
108
- break;
109
- case MXC_CPU_MX31:
110
- soc_id = "i.MX31";
111
- break;
112
- case MXC_CPU_MX35:
113
- soc_id = "i.MX35";
114
- break;
115
- case MXC_CPU_MX51:
116
- soc_id = "i.MX51";
117
- break;
118
- case MXC_CPU_MX53:
119
- soc_id = "i.MX53";
120
- break;
121
- case MXC_CPU_IMX6SL:
122
- soc_id = "i.MX6SL";
123
- break;
124
- case MXC_CPU_IMX6DL:
125
- soc_id = "i.MX6DL";
126
- break;
127
- case MXC_CPU_IMX6SX:
128
- soc_id = "i.MX6SX";
129
- break;
130
- case MXC_CPU_IMX6Q:
131
- soc_id = "i.MX6Q";
132
- break;
133
- case MXC_CPU_IMX6UL:
134
- soc_id = "i.MX6UL";
135
- break;
136
- case MXC_CPU_IMX6ULL:
137
- soc_id = "i.MX6ULL";
138
- break;
139
- case MXC_CPU_IMX6SLL:
140
- soc_id = "i.MX6SLL";
141
- break;
142
- case MXC_CPU_IMX7D:
143
- soc_id = "i.MX7D";
144
- break;
145
- default:
146
- soc_id = "Unknown";
147
- }
148
- soc_dev_attr->soc_id = soc_id;
149
-
150
- soc_dev_attr->revision = kasprintf(GFP_KERNEL, "%d.%d",
151
- (imx_soc_revision >> 4) & 0xf,
152
- imx_soc_revision & 0xf);
153
- if (!soc_dev_attr->revision)
154
- goto free_soc;
155
-
156
- soc_dev = soc_device_register(soc_dev_attr);
157
- if (IS_ERR(soc_dev))
158
- goto free_rev;
159
-
160
- return soc_device_to_device(soc_dev);
161
-
162
-free_rev:
163
- kfree(soc_dev_attr->revision);
164
-free_soc:
165
- kfree(soc_dev_attr);
166
- return NULL;
16772 }