git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge to kernel-2.6.20-1.2949.fc6.vs2.2.0.1
[linux-2.6.git]
/
drivers
/
acpi
/
pci_root.c
diff --git
a/drivers/acpi/pci_root.c
b/drivers/acpi/pci_root.c
index
4c313ea
..
a860efa
100644
(file)
--- a/
drivers/acpi/pci_root.c
+++ b/
drivers/acpi/pci_root.c
@@
-58,7
+58,7
@@
static struct acpi_driver acpi_pci_root_driver = {
struct acpi_pci_root {
struct list_head node;
struct acpi_pci_root {
struct list_head node;
-
acpi_handle handl
e;
+
struct acpi_device * devic
e;
struct acpi_pci_id id;
struct pci_bus *bus;
};
struct acpi_pci_id id;
struct pci_bus *bus;
};
@@
-83,7
+83,7
@@
int acpi_pci_register_driver(struct acpi_pci_driver *driver)
list_for_each(entry, &acpi_pci_roots) {
struct acpi_pci_root *root;
root = list_entry(entry, struct acpi_pci_root, node);
list_for_each(entry, &acpi_pci_roots) {
struct acpi_pci_root *root;
root = list_entry(entry, struct acpi_pci_root, node);
- driver->add(root->handle);
+ driver->add(root->
device->
handle);
n++;
}
n++;
}
@@
-98,11
+98,12
@@
void acpi_pci_unregister_driver(struct acpi_pci_driver *driver)
struct acpi_pci_driver **pptr = &sub_driver;
while (*pptr) {
struct acpi_pci_driver **pptr = &sub_driver;
while (*pptr) {
- if (*pptr != driver)
- continue;
- *pptr = (*pptr)->next;
- break;
+ if (*pptr == driver)
+ break;
+ pptr = &(*pptr)->next;
}
}
+ BUG_ON(!*pptr);
+ *pptr = (*pptr)->next;
if (!driver->remove)
return;
if (!driver->remove)
return;
@@
-110,7
+111,7
@@
void acpi_pci_unregister_driver(struct acpi_pci_driver *driver)
list_for_each(entry, &acpi_pci_roots) {
struct acpi_pci_root *root;
root = list_entry(entry, struct acpi_pci_root, node);
list_for_each(entry, &acpi_pci_roots) {
struct acpi_pci_root *root;
root = list_entry(entry, struct acpi_pci_root, node);
- driver->remove(root->handle);
+ driver->remove(root->
device->
handle);
}
}
}
}
@@
-119,7
+120,7
@@
EXPORT_SYMBOL(acpi_pci_unregister_driver);
static acpi_status
get_root_bridge_busnr_callback(struct acpi_resource *resource, void *data)
{
static acpi_status
get_root_bridge_busnr_callback(struct acpi_resource *resource, void *data)
{
- int *busnr =
(int *)
data;
+ int *busnr = data;
struct acpi_resource_address64 address;
if (resource->type != ACPI_RESOURCE_TYPE_ADDRESS16 &&
struct acpi_resource_address64 address;
if (resource->type != ACPI_RESOURCE_TYPE_ADDRESS16 &&
@@
-160,18
+161,16
@@
static int acpi_pci_root_add(struct acpi_device *device)
unsigned long value = 0;
acpi_handle handle = NULL;
unsigned long value = 0;
acpi_handle handle = NULL;
- ACPI_FUNCTION_TRACE("acpi_pci_root_add");
if (!device)
if (!device)
- return
_VALUE(-EINVAL)
;
+ return
-EINVAL
;
- root = k
m
alloc(sizeof(struct acpi_pci_root), GFP_KERNEL);
+ root = k
z
alloc(sizeof(struct acpi_pci_root), GFP_KERNEL);
if (!root)
if (!root)
- return_VALUE(-ENOMEM);
- memset(root, 0, sizeof(struct acpi_pci_root));
+ return -ENOMEM;
INIT_LIST_HEAD(&root->node);
INIT_LIST_HEAD(&root->node);
- root->
handle = device->handl
e;
+ root->
device = devic
e;
strcpy(acpi_device_name(device), ACPI_PCI_ROOT_DEVICE_NAME);
strcpy(acpi_device_class(device), ACPI_PCI_ROOT_CLASS);
acpi_driver_data(device) = root;
strcpy(acpi_device_name(device), ACPI_PCI_ROOT_DEVICE_NAME);
strcpy(acpi_device_class(device), ACPI_PCI_ROOT_CLASS);
acpi_driver_data(device) = root;
@@
-186,7
+185,7
@@
static int acpi_pci_root_add(struct acpi_device *device)
* -------
* Obtained via _SEG, if exists, otherwise assumed to be zero (0).
*/
* -------
* Obtained via _SEG, if exists, otherwise assumed to be zero (0).
*/
- status = acpi_evaluate_integer(
root
->handle, METHOD_NAME__SEG, NULL,
+ status = acpi_evaluate_integer(
device
->handle, METHOD_NAME__SEG, NULL,
&value);
switch (status) {
case AE_OK:
&value);
switch (status) {
case AE_OK:
@@
-198,7
+197,7
@@
static int acpi_pci_root_add(struct acpi_device *device)
root->id.segment = 0;
break;
default:
root->id.segment = 0;
break;
default:
- ACPI_
DEBUG_PRINT((ACPI_DB_ERROR, "Error evaluating _SEG\n
"));
+ ACPI_
EXCEPTION((AE_INFO, status, "Evaluating _SEG
"));
result = -ENODEV;
goto end;
}
result = -ENODEV;
goto end;
}
@@
-208,7
+207,7
@@
static int acpi_pci_root_add(struct acpi_device *device)
* ---
* Obtained via _BBN, if exists, otherwise assumed to be zero (0).
*/
* ---
* Obtained via _BBN, if exists, otherwise assumed to be zero (0).
*/
- status = acpi_evaluate_integer(
root
->handle, METHOD_NAME__BBN, NULL,
+ status = acpi_evaluate_integer(
device
->handle, METHOD_NAME__BBN, NULL,
&value);
switch (status) {
case AE_OK:
&value);
switch (status) {
case AE_OK:
@@
-219,7
+218,7
@@
static int acpi_pci_root_add(struct acpi_device *device)
root->id.bus = 0;
break;
default:
root->id.bus = 0;
break;
default:
- ACPI_
DEBUG_PRINT((ACPI_DB_ERROR, "Error evaluating _BBN\n
"));
+ ACPI_
EXCEPTION((AE_INFO, status, "Evaluating _BBN
"));
result = -ENODEV;
goto end;
}
result = -ENODEV;
goto end;
}
@@
-231,10
+230,11
@@
static int acpi_pci_root_add(struct acpi_device *device)
int bus = 0;
acpi_status status;
int bus = 0;
acpi_status status;
- ACPI_DEBUG_PRINT((ACPI_DB_ERROR,
- "Wrong _BBN value, please reboot and using option 'pci=noacpi'\n"));
+ printk(KERN_ERR PREFIX
+ "Wrong _BBN value, reboot"
+ " and use option 'pci=noacpi'\n");
- status = try_get_root_bridge_busnr(
root
->handle, &bus);
+ status = try_get_root_bridge_busnr(
device
->handle, &bus);
if (ACPI_FAILURE(status))
break;
if (bus != root->id.bus) {
if (ACPI_FAILURE(status))
break;
if (bus != root->id.bus) {
@@
-273,9
+273,9
@@
static int acpi_pci_root_add(struct acpi_device *device)
*/
root->bus = pci_acpi_scan_root(device, root->id.segment, root->id.bus);
if (!root->bus) {
*/
root->bus = pci_acpi_scan_root(device, root->id.segment, root->id.bus);
if (!root->bus) {
- ACPI_DEBUG_PRINT((ACPI_DB_ERROR,
-
"Bus %04x:%02x not present in PCI namespace\n",
-
root->id.segment, root->id.bus)
);
+ printk(KERN_ERR PREFIX
+ "Bus %04x:%02x not present in PCI namespace\n",
+
root->id.segment, root->id.bus
);
result = -ENODEV;
goto end;
}
result = -ENODEV;
goto end;
}
@@
-294,9
+294,9
@@
static int acpi_pci_root_add(struct acpi_device *device)
* -----------------
* Evaluate and parse _PRT, if exists.
*/
* -----------------
* Evaluate and parse _PRT, if exists.
*/
- status = acpi_get_handle(
root
->handle, METHOD_NAME__PRT, &handle);
+ status = acpi_get_handle(
device
->handle, METHOD_NAME__PRT, &handle);
if (ACPI_SUCCESS(status))
if (ACPI_SUCCESS(status))
- result = acpi_pci_irq_add_prt(
root
->handle, root->id.segment,
+ result = acpi_pci_irq_add_prt(
device
->handle, root->id.segment,
root->id.bus);
end:
root->id.bus);
end:
@@
-306,46
+306,43
@@
static int acpi_pci_root_add(struct acpi_device *device)
kfree(root);
}
kfree(root);
}
- return
_VALUE(result)
;
+ return
result
;
}
static int acpi_pci_root_start(struct acpi_device *device)
{
struct acpi_pci_root *root;
}
static int acpi_pci_root_start(struct acpi_device *device)
{
struct acpi_pci_root *root;
- ACPI_FUNCTION_TRACE("acpi_pci_root_start");
list_for_each_entry(root, &acpi_pci_roots, node) {
list_for_each_entry(root, &acpi_pci_roots, node) {
- if (root->
handle == device->handl
e) {
+ if (root->
device == devic
e) {
pci_bus_add_devices(root->bus);
pci_bus_add_devices(root->bus);
- return
_VALUE(0)
;
+ return
0
;
}
}
}
}
- return
_VALUE(-ENODEV)
;
+ return
-ENODEV
;
}
static int acpi_pci_root_remove(struct acpi_device *device, int type)
{
struct acpi_pci_root *root = NULL;
}
static int acpi_pci_root_remove(struct acpi_device *device, int type)
{
struct acpi_pci_root *root = NULL;
- ACPI_FUNCTION_TRACE("acpi_pci_root_remove");
if (!device || !acpi_driver_data(device))
if (!device || !acpi_driver_data(device))
- return
_VALUE(-EINVAL)
;
+ return
-EINVAL
;
- root =
(struct acpi_pci_root *)
acpi_driver_data(device);
+ root = acpi_driver_data(device);
kfree(root);
kfree(root);
- return
_VALUE(0)
;
+ return
0
;
}
static int __init acpi_pci_root_init(void)
{
}
static int __init acpi_pci_root_init(void)
{
- ACPI_FUNCTION_TRACE("acpi_pci_root_init");
if (acpi_pci_disabled)
if (acpi_pci_disabled)
- return
_VALUE(0)
;
+ return
0
;
/* DEBUG:
acpi_dbg_layer = ACPI_PCI_COMPONENT;
/* DEBUG:
acpi_dbg_layer = ACPI_PCI_COMPONENT;
@@
-353,9
+350,9
@@
static int __init acpi_pci_root_init(void)
*/
if (acpi_bus_register_driver(&acpi_pci_root_driver) < 0)
*/
if (acpi_bus_register_driver(&acpi_pci_root_driver) < 0)
- return
_VALUE(-ENODEV)
;
+ return
-ENODEV
;
- return
_VALUE(0)
;
+ return
0
;
}
subsys_initcall(acpi_pci_root_init);
}
subsys_initcall(acpi_pci_root_init);