diff options
Diffstat (limited to 'drivers/acpi/pci_bind.c')
-rw-r--r-- | drivers/acpi/pci_bind.c | 87 |
1 files changed, 41 insertions, 46 deletions
diff --git a/drivers/acpi/pci_bind.c b/drivers/acpi/pci_bind.c index 2a718df769b5..1e2ae6e7a7e4 100644 --- a/drivers/acpi/pci_bind.c +++ b/drivers/acpi/pci_bind.c | |||
@@ -47,11 +47,10 @@ struct acpi_pci_data { | |||
47 | static void acpi_pci_data_handler(acpi_handle handle, u32 function, | 47 | static void acpi_pci_data_handler(acpi_handle handle, u32 function, |
48 | void *context) | 48 | void *context) |
49 | { | 49 | { |
50 | ACPI_FUNCTION_TRACE("acpi_pci_data_handler"); | ||
51 | 50 | ||
52 | /* TBD: Anything we need to do here? */ | 51 | /* TBD: Anything we need to do here? */ |
53 | 52 | ||
54 | return_VOID; | 53 | return; |
55 | } | 54 | } |
56 | 55 | ||
57 | /** | 56 | /** |
@@ -68,25 +67,24 @@ acpi_status acpi_get_pci_id(acpi_handle handle, struct acpi_pci_id *id) | |||
68 | struct acpi_device *device = NULL; | 67 | struct acpi_device *device = NULL; |
69 | struct acpi_pci_data *data = NULL; | 68 | struct acpi_pci_data *data = NULL; |
70 | 69 | ||
71 | ACPI_FUNCTION_TRACE("acpi_get_pci_id"); | ||
72 | 70 | ||
73 | if (!id) | 71 | if (!id) |
74 | return_ACPI_STATUS(AE_BAD_PARAMETER); | 72 | return AE_BAD_PARAMETER; |
75 | 73 | ||
76 | result = acpi_bus_get_device(handle, &device); | 74 | result = acpi_bus_get_device(handle, &device); |
77 | if (result) { | 75 | if (result) { |
78 | ACPI_DEBUG_PRINT((ACPI_DB_ERROR, | 76 | printk(KERN_ERR PREFIX |
79 | "Invalid ACPI Bus context for device %s\n", | 77 | "Invalid ACPI Bus context for device %s\n", |
80 | acpi_device_bid(device))); | 78 | acpi_device_bid(device)); |
81 | return_ACPI_STATUS(AE_NOT_EXIST); | 79 | return AE_NOT_EXIST; |
82 | } | 80 | } |
83 | 81 | ||
84 | status = acpi_get_data(handle, acpi_pci_data_handler, (void **)&data); | 82 | status = acpi_get_data(handle, acpi_pci_data_handler, (void **)&data); |
85 | if (ACPI_FAILURE(status) || !data) { | 83 | if (ACPI_FAILURE(status) || !data) { |
86 | ACPI_DEBUG_PRINT((ACPI_DB_ERROR, | 84 | ACPI_EXCEPTION((AE_INFO, status, |
87 | "Invalid ACPI-PCI context for device %s\n", | 85 | "Invalid ACPI-PCI context for device %s", |
88 | acpi_device_bid(device))); | 86 | acpi_device_bid(device))); |
89 | return_ACPI_STATUS(status); | 87 | return status; |
90 | } | 88 | } |
91 | 89 | ||
92 | *id = data->id; | 90 | *id = data->id; |
@@ -103,7 +101,7 @@ acpi_status acpi_get_pci_id(acpi_handle handle, struct acpi_pci_id *id) | |||
103 | acpi_device_bid(device), id->segment, id->bus, | 101 | acpi_device_bid(device), id->segment, id->bus, |
104 | id->device, id->function)); | 102 | id->device, id->function)); |
105 | 103 | ||
106 | return_ACPI_STATUS(AE_OK); | 104 | return AE_OK; |
107 | } | 105 | } |
108 | 106 | ||
109 | EXPORT_SYMBOL(acpi_get_pci_id); | 107 | EXPORT_SYMBOL(acpi_get_pci_id); |
@@ -120,14 +118,13 @@ int acpi_pci_bind(struct acpi_device *device) | |||
120 | struct pci_dev *dev; | 118 | struct pci_dev *dev; |
121 | struct pci_bus *bus; | 119 | struct pci_bus *bus; |
122 | 120 | ||
123 | ACPI_FUNCTION_TRACE("acpi_pci_bind"); | ||
124 | 121 | ||
125 | if (!device || !device->parent) | 122 | if (!device || !device->parent) |
126 | return_VALUE(-EINVAL); | 123 | return -EINVAL; |
127 | 124 | ||
128 | pathname = kmalloc(ACPI_PATHNAME_MAX, GFP_KERNEL); | 125 | pathname = kmalloc(ACPI_PATHNAME_MAX, GFP_KERNEL); |
129 | if (!pathname) | 126 | if (!pathname) |
130 | return_VALUE(-ENOMEM); | 127 | return -ENOMEM; |
131 | memset(pathname, 0, ACPI_PATHNAME_MAX); | 128 | memset(pathname, 0, ACPI_PATHNAME_MAX); |
132 | buffer.length = ACPI_PATHNAME_MAX; | 129 | buffer.length = ACPI_PATHNAME_MAX; |
133 | buffer.pointer = pathname; | 130 | buffer.pointer = pathname; |
@@ -135,7 +132,7 @@ int acpi_pci_bind(struct acpi_device *device) | |||
135 | data = kmalloc(sizeof(struct acpi_pci_data), GFP_KERNEL); | 132 | data = kmalloc(sizeof(struct acpi_pci_data), GFP_KERNEL); |
136 | if (!data) { | 133 | if (!data) { |
137 | kfree(pathname); | 134 | kfree(pathname); |
138 | return_VALUE(-ENOMEM); | 135 | return -ENOMEM; |
139 | } | 136 | } |
140 | memset(data, 0, sizeof(struct acpi_pci_data)); | 137 | memset(data, 0, sizeof(struct acpi_pci_data)); |
141 | 138 | ||
@@ -151,9 +148,9 @@ int acpi_pci_bind(struct acpi_device *device) | |||
151 | status = acpi_get_data(device->parent->handle, acpi_pci_data_handler, | 148 | status = acpi_get_data(device->parent->handle, acpi_pci_data_handler, |
152 | (void **)&pdata); | 149 | (void **)&pdata); |
153 | if (ACPI_FAILURE(status) || !pdata || !pdata->bus) { | 150 | if (ACPI_FAILURE(status) || !pdata || !pdata->bus) { |
154 | ACPI_DEBUG_PRINT((ACPI_DB_ERROR, | 151 | ACPI_EXCEPTION((AE_INFO, status, |
155 | "Invalid ACPI-PCI context for parent device %s\n", | 152 | "Invalid ACPI-PCI context for parent device %s", |
156 | acpi_device_bid(device->parent))); | 153 | acpi_device_bid(device->parent))); |
157 | result = -ENODEV; | 154 | result = -ENODEV; |
158 | goto end; | 155 | goto end; |
159 | } | 156 | } |
@@ -206,10 +203,10 @@ int acpi_pci_bind(struct acpi_device *device) | |||
206 | goto end; | 203 | goto end; |
207 | } | 204 | } |
208 | if (!data->dev->bus) { | 205 | if (!data->dev->bus) { |
209 | ACPI_DEBUG_PRINT((ACPI_DB_ERROR, | 206 | printk(KERN_ERR PREFIX |
210 | "Device %02x:%02x:%02x.%02x has invalid 'bus' field\n", | 207 | "Device %02x:%02x:%02x.%02x has invalid 'bus' field\n", |
211 | data->id.segment, data->id.bus, | 208 | data->id.segment, data->id.bus, |
212 | data->id.device, data->id.function)); | 209 | data->id.device, data->id.function); |
213 | result = -ENODEV; | 210 | result = -ENODEV; |
214 | goto end; | 211 | goto end; |
215 | } | 212 | } |
@@ -237,9 +234,9 @@ int acpi_pci_bind(struct acpi_device *device) | |||
237 | */ | 234 | */ |
238 | status = acpi_attach_data(device->handle, acpi_pci_data_handler, data); | 235 | status = acpi_attach_data(device->handle, acpi_pci_data_handler, data); |
239 | if (ACPI_FAILURE(status)) { | 236 | if (ACPI_FAILURE(status)) { |
240 | ACPI_DEBUG_PRINT((ACPI_DB_ERROR, | 237 | ACPI_EXCEPTION((AE_INFO, status, |
241 | "Unable to attach ACPI-PCI context to device %s\n", | 238 | "Unable to attach ACPI-PCI context to device %s", |
242 | acpi_device_bid(device))); | 239 | acpi_device_bid(device))); |
243 | result = -ENODEV; | 240 | result = -ENODEV; |
244 | goto end; | 241 | goto end; |
245 | } | 242 | } |
@@ -269,7 +266,7 @@ int acpi_pci_bind(struct acpi_device *device) | |||
269 | if (result) | 266 | if (result) |
270 | kfree(data); | 267 | kfree(data); |
271 | 268 | ||
272 | return_VALUE(result); | 269 | return result; |
273 | } | 270 | } |
274 | 271 | ||
275 | int acpi_pci_unbind(struct acpi_device *device) | 272 | int acpi_pci_unbind(struct acpi_device *device) |
@@ -280,14 +277,13 @@ int acpi_pci_unbind(struct acpi_device *device) | |||
280 | char *pathname = NULL; | 277 | char *pathname = NULL; |
281 | struct acpi_buffer buffer = { 0, NULL }; | 278 | struct acpi_buffer buffer = { 0, NULL }; |
282 | 279 | ||
283 | ACPI_FUNCTION_TRACE("acpi_pci_unbind"); | ||
284 | 280 | ||
285 | if (!device || !device->parent) | 281 | if (!device || !device->parent) |
286 | return_VALUE(-EINVAL); | 282 | return -EINVAL; |
287 | 283 | ||
288 | pathname = (char *)kmalloc(ACPI_PATHNAME_MAX, GFP_KERNEL); | 284 | pathname = (char *)kmalloc(ACPI_PATHNAME_MAX, GFP_KERNEL); |
289 | if (!pathname) | 285 | if (!pathname) |
290 | return_VALUE(-ENOMEM); | 286 | return -ENOMEM; |
291 | memset(pathname, 0, ACPI_PATHNAME_MAX); | 287 | memset(pathname, 0, ACPI_PATHNAME_MAX); |
292 | 288 | ||
293 | buffer.length = ACPI_PATHNAME_MAX; | 289 | buffer.length = ACPI_PATHNAME_MAX; |
@@ -301,18 +297,18 @@ int acpi_pci_unbind(struct acpi_device *device) | |||
301 | acpi_get_data(device->handle, acpi_pci_data_handler, | 297 | acpi_get_data(device->handle, acpi_pci_data_handler, |
302 | (void **)&data); | 298 | (void **)&data); |
303 | if (ACPI_FAILURE(status)) { | 299 | if (ACPI_FAILURE(status)) { |
304 | ACPI_DEBUG_PRINT((ACPI_DB_ERROR, | 300 | ACPI_EXCEPTION((AE_INFO, status, |
305 | "Unable to get data from device %s\n", | 301 | "Unable to get data from device %s", |
306 | acpi_device_bid(device))); | 302 | acpi_device_bid(device))); |
307 | result = -ENODEV; | 303 | result = -ENODEV; |
308 | goto end; | 304 | goto end; |
309 | } | 305 | } |
310 | 306 | ||
311 | status = acpi_detach_data(device->handle, acpi_pci_data_handler); | 307 | status = acpi_detach_data(device->handle, acpi_pci_data_handler); |
312 | if (ACPI_FAILURE(status)) { | 308 | if (ACPI_FAILURE(status)) { |
313 | ACPI_DEBUG_PRINT((ACPI_DB_ERROR, | 309 | ACPI_EXCEPTION((AE_INFO, status, |
314 | "Unable to detach data from device %s\n", | 310 | "Unable to detach data from device %s", |
315 | acpi_device_bid(device))); | 311 | acpi_device_bid(device))); |
316 | result = -ENODEV; | 312 | result = -ENODEV; |
317 | goto end; | 313 | goto end; |
318 | } | 314 | } |
@@ -322,7 +318,7 @@ int acpi_pci_unbind(struct acpi_device *device) | |||
322 | kfree(data); | 318 | kfree(data); |
323 | 319 | ||
324 | end: | 320 | end: |
325 | return_VALUE(result); | 321 | return result; |
326 | } | 322 | } |
327 | 323 | ||
328 | int | 324 | int |
@@ -335,11 +331,10 @@ acpi_pci_bind_root(struct acpi_device *device, | |||
335 | char *pathname = NULL; | 331 | char *pathname = NULL; |
336 | struct acpi_buffer buffer = { 0, NULL }; | 332 | struct acpi_buffer buffer = { 0, NULL }; |
337 | 333 | ||
338 | ACPI_FUNCTION_TRACE("acpi_pci_bind_root"); | ||
339 | 334 | ||
340 | pathname = (char *)kmalloc(ACPI_PATHNAME_MAX, GFP_KERNEL); | 335 | pathname = (char *)kmalloc(ACPI_PATHNAME_MAX, GFP_KERNEL); |
341 | if (!pathname) | 336 | if (!pathname) |
342 | return_VALUE(-ENOMEM); | 337 | return -ENOMEM; |
343 | memset(pathname, 0, ACPI_PATHNAME_MAX); | 338 | memset(pathname, 0, ACPI_PATHNAME_MAX); |
344 | 339 | ||
345 | buffer.length = ACPI_PATHNAME_MAX; | 340 | buffer.length = ACPI_PATHNAME_MAX; |
@@ -347,13 +342,13 @@ acpi_pci_bind_root(struct acpi_device *device, | |||
347 | 342 | ||
348 | if (!device || !id || !bus) { | 343 | if (!device || !id || !bus) { |
349 | kfree(pathname); | 344 | kfree(pathname); |
350 | return_VALUE(-EINVAL); | 345 | return -EINVAL; |
351 | } | 346 | } |
352 | 347 | ||
353 | data = kmalloc(sizeof(struct acpi_pci_data), GFP_KERNEL); | 348 | data = kmalloc(sizeof(struct acpi_pci_data), GFP_KERNEL); |
354 | if (!data) { | 349 | if (!data) { |
355 | kfree(pathname); | 350 | kfree(pathname); |
356 | return_VALUE(-ENOMEM); | 351 | return -ENOMEM; |
357 | } | 352 | } |
358 | memset(data, 0, sizeof(struct acpi_pci_data)); | 353 | memset(data, 0, sizeof(struct acpi_pci_data)); |
359 | 354 | ||
@@ -369,9 +364,9 @@ acpi_pci_bind_root(struct acpi_device *device, | |||
369 | 364 | ||
370 | status = acpi_attach_data(device->handle, acpi_pci_data_handler, data); | 365 | status = acpi_attach_data(device->handle, acpi_pci_data_handler, data); |
371 | if (ACPI_FAILURE(status)) { | 366 | if (ACPI_FAILURE(status)) { |
372 | ACPI_DEBUG_PRINT((ACPI_DB_ERROR, | 367 | ACPI_EXCEPTION((AE_INFO, status, |
373 | "Unable to attach ACPI-PCI context to device %s\n", | 368 | "Unable to attach ACPI-PCI context to device %s", |
374 | pathname)); | 369 | pathname)); |
375 | result = -ENODEV; | 370 | result = -ENODEV; |
376 | goto end; | 371 | goto end; |
377 | } | 372 | } |
@@ -381,5 +376,5 @@ acpi_pci_bind_root(struct acpi_device *device, | |||
381 | if (result != 0) | 376 | if (result != 0) |
382 | kfree(data); | 377 | kfree(data); |
383 | 378 | ||
384 | return_VALUE(result); | 379 | return result; |
385 | } | 380 | } |