aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2018-10-15 21:32:54 -0400
committerDavid S. Miller <davem@davemloft.net>2018-10-15 21:32:54 -0400
commita06ecbfe784ceb22e56ae3cd75fe77138e7cfa0b (patch)
tree29a990e09b492de493125e7a69e51c8a6f7c8ca9
parentd1f1f98c6d1708a90436e1a3b2aff5e93946731b (diff)
Revert "sparc: Convert to using %pOFn instead of device_node.name"
This reverts commit 0b9871a3a8cc7234c285b5d9bf66cc6712cfee7c. Causes crashes with qemu, interacts badly with commit commit 6d0a70a284be ("vsprintf: print OF node name using full_name") etc. Reported-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--arch/sparc/kernel/auxio_64.c4
-rw-r--r--arch/sparc/kernel/power.c4
-rw-r--r--arch/sparc/kernel/prom_32.c26
-rw-r--r--arch/sparc/kernel/prom_64.c68
4 files changed, 51 insertions, 51 deletions
diff --git a/arch/sparc/kernel/auxio_64.c b/arch/sparc/kernel/auxio_64.c
index cc42225c20f3..4e8f56c3793c 100644
--- a/arch/sparc/kernel/auxio_64.c
+++ b/arch/sparc/kernel/auxio_64.c
@@ -115,8 +115,8 @@ static int auxio_probe(struct platform_device *dev)
115 auxio_devtype = AUXIO_TYPE_SBUS; 115 auxio_devtype = AUXIO_TYPE_SBUS;
116 size = 1; 116 size = 1;
117 } else { 117 } else {
118 printk("auxio: Unknown parent bus type [%pOFn]\n", 118 printk("auxio: Unknown parent bus type [%s]\n",
119 dp->parent); 119 dp->parent->name);
120 return -ENODEV; 120 return -ENODEV;
121 } 121 }
122 auxio_register = of_ioremap(&dev->resource[0], 0, size, "auxio"); 122 auxio_register = of_ioremap(&dev->resource[0], 0, size, "auxio");
diff --git a/arch/sparc/kernel/power.c b/arch/sparc/kernel/power.c
index d941875dd718..92627abce311 100644
--- a/arch/sparc/kernel/power.c
+++ b/arch/sparc/kernel/power.c
@@ -41,8 +41,8 @@ static int power_probe(struct platform_device *op)
41 41
42 power_reg = of_ioremap(res, 0, 0x4, "power"); 42 power_reg = of_ioremap(res, 0, 0x4, "power");
43 43
44 printk(KERN_INFO "%pOFn: Control reg at %llx\n", 44 printk(KERN_INFO "%s: Control reg at %llx\n",
45 op->dev.of_node, res->start); 45 op->dev.of_node->name, res->start);
46 46
47 if (has_button_interrupt(irq, op->dev.of_node)) { 47 if (has_button_interrupt(irq, op->dev.of_node)) {
48 if (request_irq(irq, 48 if (request_irq(irq,
diff --git a/arch/sparc/kernel/prom_32.c b/arch/sparc/kernel/prom_32.c
index 17c87d29ff20..b51cbb9e87dc 100644
--- a/arch/sparc/kernel/prom_32.c
+++ b/arch/sparc/kernel/prom_32.c
@@ -68,8 +68,8 @@ static void __init sparc32_path_component(struct device_node *dp, char *tmp_buf)
68 return; 68 return;
69 69
70 regs = rprop->value; 70 regs = rprop->value;
71 sprintf(tmp_buf, "%pOFn@%x,%x", 71 sprintf(tmp_buf, "%s@%x,%x",
72 dp, 72 dp->name,
73 regs->which_io, regs->phys_addr); 73 regs->which_io, regs->phys_addr);
74} 74}
75 75
@@ -84,8 +84,8 @@ static void __init sbus_path_component(struct device_node *dp, char *tmp_buf)
84 return; 84 return;
85 85
86 regs = prop->value; 86 regs = prop->value;
87 sprintf(tmp_buf, "%pOFn@%x,%x", 87 sprintf(tmp_buf, "%s@%x,%x",
88 dp, 88 dp->name,
89 regs->which_io, 89 regs->which_io,
90 regs->phys_addr); 90 regs->phys_addr);
91} 91}
@@ -104,13 +104,13 @@ static void __init pci_path_component(struct device_node *dp, char *tmp_buf)
104 regs = prop->value; 104 regs = prop->value;
105 devfn = (regs->phys_hi >> 8) & 0xff; 105 devfn = (regs->phys_hi >> 8) & 0xff;
106 if (devfn & 0x07) { 106 if (devfn & 0x07) {
107 sprintf(tmp_buf, "%pOFn@%x,%x", 107 sprintf(tmp_buf, "%s@%x,%x",
108 dp, 108 dp->name,
109 devfn >> 3, 109 devfn >> 3,
110 devfn & 0x07); 110 devfn & 0x07);
111 } else { 111 } else {
112 sprintf(tmp_buf, "%pOFn@%x", 112 sprintf(tmp_buf, "%s@%x",
113 dp, 113 dp->name,
114 devfn >> 3); 114 devfn >> 3);
115 } 115 }
116} 116}
@@ -127,8 +127,8 @@ static void __init ebus_path_component(struct device_node *dp, char *tmp_buf)
127 127
128 regs = prop->value; 128 regs = prop->value;
129 129
130 sprintf(tmp_buf, "%pOFn@%x,%x", 130 sprintf(tmp_buf, "%s@%x,%x",
131 dp, 131 dp->name,
132 regs->which_io, regs->phys_addr); 132 regs->which_io, regs->phys_addr);
133} 133}
134 134
@@ -167,8 +167,8 @@ static void __init ambapp_path_component(struct device_node *dp, char *tmp_buf)
167 return; 167 return;
168 device = prop->value; 168 device = prop->value;
169 169
170 sprintf(tmp_buf, "%pOFn:%d:%d@%x,%x", 170 sprintf(tmp_buf, "%s:%d:%d@%x,%x",
171 dp, *vendor, *device, 171 dp->name, *vendor, *device,
172 *intr, reg0); 172 *intr, reg0);
173} 173}
174 174
@@ -201,7 +201,7 @@ char * __init build_path_component(struct device_node *dp)
201 tmp_buf[0] = '\0'; 201 tmp_buf[0] = '\0';
202 __build_path_component(dp, tmp_buf); 202 __build_path_component(dp, tmp_buf);
203 if (tmp_buf[0] == '\0') 203 if (tmp_buf[0] == '\0')
204 snprintf(tmp_buf, sizeof(tmp_buf), "%pOFn", dp); 204 strcpy(tmp_buf, dp->name);
205 205
206 n = prom_early_alloc(strlen(tmp_buf) + 1); 206 n = prom_early_alloc(strlen(tmp_buf) + 1);
207 strcpy(n, tmp_buf); 207 strcpy(n, tmp_buf);
diff --git a/arch/sparc/kernel/prom_64.c b/arch/sparc/kernel/prom_64.c
index 6220411ce8fc..baeaeed64993 100644
--- a/arch/sparc/kernel/prom_64.c
+++ b/arch/sparc/kernel/prom_64.c
@@ -82,8 +82,8 @@ static void __init sun4v_path_component(struct device_node *dp, char *tmp_buf)
82 82
83 regs = rprop->value; 83 regs = rprop->value;
84 if (!of_node_is_root(dp->parent)) { 84 if (!of_node_is_root(dp->parent)) {
85 sprintf(tmp_buf, "%pOFn@%x,%x", 85 sprintf(tmp_buf, "%s@%x,%x",
86 dp, 86 dp->name,
87 (unsigned int) (regs->phys_addr >> 32UL), 87 (unsigned int) (regs->phys_addr >> 32UL),
88 (unsigned int) (regs->phys_addr & 0xffffffffUL)); 88 (unsigned int) (regs->phys_addr & 0xffffffffUL));
89 return; 89 return;
@@ -97,17 +97,17 @@ static void __init sun4v_path_component(struct device_node *dp, char *tmp_buf)
97 const char *prefix = (type == 0) ? "m" : "i"; 97 const char *prefix = (type == 0) ? "m" : "i";
98 98
99 if (low_bits) 99 if (low_bits)
100 sprintf(tmp_buf, "%pOFn@%s%x,%x", 100 sprintf(tmp_buf, "%s@%s%x,%x",
101 dp, prefix, 101 dp->name, prefix,
102 high_bits, low_bits); 102 high_bits, low_bits);
103 else 103 else
104 sprintf(tmp_buf, "%pOFn@%s%x", 104 sprintf(tmp_buf, "%s@%s%x",
105 dp, 105 dp->name,
106 prefix, 106 prefix,
107 high_bits); 107 high_bits);
108 } else if (type == 12) { 108 } else if (type == 12) {
109 sprintf(tmp_buf, "%pOFn@%x", 109 sprintf(tmp_buf, "%s@%x",
110 dp, high_bits); 110 dp->name, high_bits);
111 } 111 }
112} 112}
113 113
@@ -122,8 +122,8 @@ static void __init sun4u_path_component(struct device_node *dp, char *tmp_buf)
122 122
123 regs = prop->value; 123 regs = prop->value;
124 if (!of_node_is_root(dp->parent)) { 124 if (!of_node_is_root(dp->parent)) {
125 sprintf(tmp_buf, "%pOFn@%x,%x", 125 sprintf(tmp_buf, "%s@%x,%x",
126 dp, 126 dp->name,
127 (unsigned int) (regs->phys_addr >> 32UL), 127 (unsigned int) (regs->phys_addr >> 32UL),
128 (unsigned int) (regs->phys_addr & 0xffffffffUL)); 128 (unsigned int) (regs->phys_addr & 0xffffffffUL));
129 return; 129 return;
@@ -138,8 +138,8 @@ static void __init sun4u_path_component(struct device_node *dp, char *tmp_buf)
138 if (tlb_type >= cheetah) 138 if (tlb_type >= cheetah)
139 mask = 0x7fffff; 139 mask = 0x7fffff;
140 140
141 sprintf(tmp_buf, "%pOFn@%x,%x", 141 sprintf(tmp_buf, "%s@%x,%x",
142 dp, 142 dp->name,
143 *(u32 *)prop->value, 143 *(u32 *)prop->value,
144 (unsigned int) (regs->phys_addr & mask)); 144 (unsigned int) (regs->phys_addr & mask));
145 } 145 }
@@ -156,8 +156,8 @@ static void __init sbus_path_component(struct device_node *dp, char *tmp_buf)
156 return; 156 return;
157 157
158 regs = prop->value; 158 regs = prop->value;
159 sprintf(tmp_buf, "%pOFn@%x,%x", 159 sprintf(tmp_buf, "%s@%x,%x",
160 dp, 160 dp->name,
161 regs->which_io, 161 regs->which_io,
162 regs->phys_addr); 162 regs->phys_addr);
163} 163}
@@ -176,13 +176,13 @@ static void __init pci_path_component(struct device_node *dp, char *tmp_buf)
176 regs = prop->value; 176 regs = prop->value;
177 devfn = (regs->phys_hi >> 8) & 0xff; 177 devfn = (regs->phys_hi >> 8) & 0xff;
178 if (devfn & 0x07) { 178 if (devfn & 0x07) {
179 sprintf(tmp_buf, "%pOFn@%x,%x", 179 sprintf(tmp_buf, "%s@%x,%x",
180 dp, 180 dp->name,
181 devfn >> 3, 181 devfn >> 3,
182 devfn & 0x07); 182 devfn & 0x07);
183 } else { 183 } else {
184 sprintf(tmp_buf, "%pOFn@%x", 184 sprintf(tmp_buf, "%s@%x",
185 dp, 185 dp->name,
186 devfn >> 3); 186 devfn >> 3);
187 } 187 }
188} 188}
@@ -203,8 +203,8 @@ static void __init upa_path_component(struct device_node *dp, char *tmp_buf)
203 if (!prop) 203 if (!prop)
204 return; 204 return;
205 205
206 sprintf(tmp_buf, "%pOFn@%x,%x", 206 sprintf(tmp_buf, "%s@%x,%x",
207 dp, 207 dp->name,
208 *(u32 *) prop->value, 208 *(u32 *) prop->value,
209 (unsigned int) (regs->phys_addr & 0xffffffffUL)); 209 (unsigned int) (regs->phys_addr & 0xffffffffUL));
210} 210}
@@ -221,7 +221,7 @@ static void __init vdev_path_component(struct device_node *dp, char *tmp_buf)
221 221
222 regs = prop->value; 222 regs = prop->value;
223 223
224 sprintf(tmp_buf, "%pOFn@%x", dp, *regs); 224 sprintf(tmp_buf, "%s@%x", dp->name, *regs);
225} 225}
226 226
227/* "name@addrhi,addrlo" */ 227/* "name@addrhi,addrlo" */
@@ -236,8 +236,8 @@ static void __init ebus_path_component(struct device_node *dp, char *tmp_buf)
236 236
237 regs = prop->value; 237 regs = prop->value;
238 238
239 sprintf(tmp_buf, "%pOFn@%x,%x", 239 sprintf(tmp_buf, "%s@%x,%x",
240 dp, 240 dp->name,
241 (unsigned int) (regs->phys_addr >> 32UL), 241 (unsigned int) (regs->phys_addr >> 32UL),
242 (unsigned int) (regs->phys_addr & 0xffffffffUL)); 242 (unsigned int) (regs->phys_addr & 0xffffffffUL));
243} 243}
@@ -257,8 +257,8 @@ static void __init i2c_path_component(struct device_node *dp, char *tmp_buf)
257 /* This actually isn't right... should look at the #address-cells 257 /* This actually isn't right... should look at the #address-cells
258 * property of the i2c bus node etc. etc. 258 * property of the i2c bus node etc. etc.
259 */ 259 */
260 sprintf(tmp_buf, "%pOFn@%x,%x", 260 sprintf(tmp_buf, "%s@%x,%x",
261 dp, regs[0], regs[1]); 261 dp->name, regs[0], regs[1]);
262} 262}
263 263
264/* "name@reg0[,reg1]" */ 264/* "name@reg0[,reg1]" */
@@ -274,11 +274,11 @@ static void __init usb_path_component(struct device_node *dp, char *tmp_buf)
274 regs = prop->value; 274 regs = prop->value;
275 275
276 if (prop->length == sizeof(u32) || regs[1] == 1) { 276 if (prop->length == sizeof(u32) || regs[1] == 1) {
277 sprintf(tmp_buf, "%pOFn@%x", 277 sprintf(tmp_buf, "%s@%x",
278 dp, regs[0]); 278 dp->name, regs[0]);
279 } else { 279 } else {
280 sprintf(tmp_buf, "%pOFn@%x,%x", 280 sprintf(tmp_buf, "%s@%x,%x",
281 dp, regs[0], regs[1]); 281 dp->name, regs[0], regs[1]);
282 } 282 }
283} 283}
284 284
@@ -295,11 +295,11 @@ static void __init ieee1394_path_component(struct device_node *dp, char *tmp_buf
295 regs = prop->value; 295 regs = prop->value;
296 296
297 if (regs[2] || regs[3]) { 297 if (regs[2] || regs[3]) {
298 sprintf(tmp_buf, "%pOFn@%08x%08x,%04x%08x", 298 sprintf(tmp_buf, "%s@%08x%08x,%04x%08x",
299 dp, regs[0], regs[1], regs[2], regs[3]); 299 dp->name, regs[0], regs[1], regs[2], regs[3]);
300 } else { 300 } else {
301 sprintf(tmp_buf, "%pOFn@%08x%08x", 301 sprintf(tmp_buf, "%s@%08x%08x",
302 dp, regs[0], regs[1]); 302 dp->name, regs[0], regs[1]);
303 } 303 }
304} 304}
305 305
@@ -361,7 +361,7 @@ char * __init build_path_component(struct device_node *dp)
361 tmp_buf[0] = '\0'; 361 tmp_buf[0] = '\0';
362 __build_path_component(dp, tmp_buf); 362 __build_path_component(dp, tmp_buf);
363 if (tmp_buf[0] == '\0') 363 if (tmp_buf[0] == '\0')
364 snprintf(tmp_buf, sizeof(tmp_buf), "%pOFn", dp); 364 strcpy(tmp_buf, dp->name);
365 365
366 n = prom_early_alloc(strlen(tmp_buf) + 1); 366 n = prom_early_alloc(strlen(tmp_buf) + 1);
367 strcpy(n, tmp_buf); 367 strcpy(n, tmp_buf);