diff options
author | David S. Miller <davem@davemloft.net> | 2018-10-15 21:32:54 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-10-15 21:32:54 -0400 |
commit | a06ecbfe784ceb22e56ae3cd75fe77138e7cfa0b (patch) | |
tree | 29a990e09b492de493125e7a69e51c8a6f7c8ca9 | |
parent | d1f1f98c6d1708a90436e1a3b2aff5e93946731b (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.c | 4 | ||||
-rw-r--r-- | arch/sparc/kernel/power.c | 4 | ||||
-rw-r--r-- | arch/sparc/kernel/prom_32.c | 26 | ||||
-rw-r--r-- | arch/sparc/kernel/prom_64.c | 68 |
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); |