Merge master.kernel.org:/home/rmk/linux-2.6-serial
[pandora-kernel.git] / drivers / acpi / pci_link.c
index 8920e8c..7f3e7e7 100644 (file)
@@ -38,6 +38,7 @@
 #include <linux/spinlock.h>
 #include <linux/pm.h>
 #include <linux/pci.h>
+#include <linux/mutex.h>
 
 #include <acpi/acpi_bus.h>
 #include <acpi/acpi_drivers.h>
@@ -82,7 +83,6 @@ struct acpi_pci_link_irq {
 struct acpi_pci_link {
        struct list_head node;
        struct acpi_device *device;
-       acpi_handle handle;
        struct acpi_pci_link_irq irq;
        int refcnt;
 };
@@ -91,7 +91,7 @@ static struct {
        int count;
        struct list_head entries;
 } acpi_link;
-DECLARE_MUTEX(acpi_link_lock);
+DEFINE_MUTEX(acpi_link_lock);
 
 /* --------------------------------------------------------------------------
                             PCI Link Device Management
@@ -106,26 +106,23 @@ acpi_pci_link_check_possible(struct acpi_resource *resource, void *context)
        struct acpi_pci_link *link = (struct acpi_pci_link *)context;
        u32 i = 0;
 
-       ACPI_FUNCTION_TRACE("acpi_pci_link_check_possible");
 
        switch (resource->type) {
        case ACPI_RESOURCE_TYPE_START_DEPENDENT:
-               return_ACPI_STATUS(AE_OK);
+               return AE_OK;
        case ACPI_RESOURCE_TYPE_IRQ:
                {
                        struct acpi_resource_irq *p = &resource->data.irq;
                        if (!p || !p->interrupt_count) {
-                               ACPI_DEBUG_PRINT((ACPI_DB_WARN,
-                                                 "Blank IRQ resource\n"));
-                               return_ACPI_STATUS(AE_OK);
+                               printk(KERN_WARNING PREFIX "Blank IRQ resource\n");
+                               return AE_OK;
                        }
                        for (i = 0;
                             (i < p->interrupt_count
                              && i < ACPI_PCI_LINK_MAX_POSSIBLE); i++) {
                                if (!p->interrupts[i]) {
-                                       ACPI_DEBUG_PRINT((ACPI_DB_WARN,
-                                                         "Invalid IRQ %d\n",
-                                                         p->interrupts[i]));
+                                       printk(KERN_WARNING PREFIX "Invalid IRQ %d\n",
+                                                     p->interrupts[i]);
                                        continue;
                                }
                                link->irq.possible[i] = p->interrupts[i];
@@ -141,17 +138,16 @@ acpi_pci_link_check_possible(struct acpi_resource *resource, void *context)
                        struct acpi_resource_extended_irq *p =
                            &resource->data.extended_irq;
                        if (!p || !p->interrupt_count) {
-                               ACPI_DEBUG_PRINT((ACPI_DB_WARN,
-                                                 "Blank EXT IRQ resource\n"));
-                               return_ACPI_STATUS(AE_OK);
+                               printk(KERN_WARNING PREFIX
+                                             "Blank EXT IRQ resource\n");
+                               return AE_OK;
                        }
                        for (i = 0;
                             (i < p->interrupt_count
                              && i < ACPI_PCI_LINK_MAX_POSSIBLE); i++) {
                                if (!p->interrupts[i]) {
-                                       ACPI_DEBUG_PRINT((ACPI_DB_WARN,
-                                                         "Invalid IRQ %d\n",
-                                                         p->interrupts[i]));
+                                       printk(KERN_WARNING PREFIX "Invalid IRQ %d\n",
+                                                     p->interrupts[i]);
                                        continue;
                                }
                                link->irq.possible[i] = p->interrupts[i];
@@ -163,35 +159,33 @@ acpi_pci_link_check_possible(struct acpi_resource *resource, void *context)
                        break;
                }
        default:
-               ACPI_DEBUG_PRINT((ACPI_DB_ERROR,
-                                 "Resource is not an IRQ entry\n"));
-               return_ACPI_STATUS(AE_OK);
+               printk(KERN_ERR PREFIX "Resource is not an IRQ entry\n");
+               return AE_OK;
        }
 
-       return_ACPI_STATUS(AE_CTRL_TERMINATE);
+       return AE_CTRL_TERMINATE;
 }
 
 static int acpi_pci_link_get_possible(struct acpi_pci_link *link)
 {
        acpi_status status;
 
-       ACPI_FUNCTION_TRACE("acpi_pci_link_get_possible");
 
        if (!link)
-               return_VALUE(-EINVAL);
+               return -EINVAL;
 
-       status = acpi_walk_resources(link->handle, METHOD_NAME__PRS,
+       status = acpi_walk_resources(link->device->handle, METHOD_NAME__PRS,
                                     acpi_pci_link_check_possible, link);
        if (ACPI_FAILURE(status)) {
-               ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Error evaluating _PRS\n"));
-               return_VALUE(-ENODEV);
+               ACPI_EXCEPTION((AE_INFO, status, "Evaluating _PRS"));
+               return -ENODEV;
        }
 
        ACPI_DEBUG_PRINT((ACPI_DB_INFO,
                          "Found %d possible IRQs\n",
                          link->irq.possible_count));
 
-       return_VALUE(0);
+       return 0;
 }
 
 static acpi_status
@@ -199,7 +193,6 @@ acpi_pci_link_check_current(struct acpi_resource *resource, void *context)
 {
        int *irq = (int *)context;
 
-       ACPI_FUNCTION_TRACE("acpi_pci_link_check_current");
 
        switch (resource->type) {
        case ACPI_RESOURCE_TYPE_IRQ:
@@ -212,7 +205,7 @@ acpi_pci_link_check_current(struct acpi_resource *resource, void *context)
                                 */
                                ACPI_DEBUG_PRINT((ACPI_DB_INFO,
                                                  "Blank IRQ resource\n"));
-                               return_ACPI_STATUS(AE_OK);
+                               return AE_OK;
                        }
                        *irq = p->interrupts[0];
                        break;
@@ -226,20 +219,20 @@ acpi_pci_link_check_current(struct acpi_resource *resource, void *context)
                                 * extended IRQ descriptors must
                                 * return at least 1 IRQ
                                 */
-                               ACPI_DEBUG_PRINT((ACPI_DB_WARN,
-                                                 "Blank EXT IRQ resource\n"));
-                               return_ACPI_STATUS(AE_OK);
+                               printk(KERN_WARNING PREFIX
+                                             "Blank EXT IRQ resource\n");
+                               return AE_OK;
                        }
                        *irq = p->interrupts[0];
                        break;
                }
                break;
        default:
-               ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Resource %d isn't an IRQ\n", resource->type));
+               printk(KERN_ERR PREFIX "Resource %d isn't an IRQ\n", resource->type);
        case ACPI_RESOURCE_TYPE_END_TAG:
-               return_ACPI_STATUS(AE_OK);
+               return AE_OK;
        }
-       return_ACPI_STATUS(AE_CTRL_TERMINATE);
+       return AE_CTRL_TERMINATE;
 }
 
 /*
@@ -255,10 +248,8 @@ static int acpi_pci_link_get_current(struct acpi_pci_link *link)
        acpi_status status = AE_OK;
        int irq = 0;
 
-       ACPI_FUNCTION_TRACE("acpi_pci_link_get_current");
-
-       if (!link || !link->handle)
-               return_VALUE(-EINVAL);
+       if (!link)
+               return -EINVAL;
 
        link->irq.active = 0;
 
@@ -267,14 +258,13 @@ static int acpi_pci_link_get_current(struct acpi_pci_link *link)
                /* Query _STA, set link->device->status */
                result = acpi_bus_get_status(link->device);
                if (result) {
-                       ACPI_DEBUG_PRINT((ACPI_DB_ERROR,
-                                         "Unable to read status\n"));
+                       printk(KERN_ERR PREFIX "Unable to read status\n");
                        goto end;
                }
 
                if (!link->device->status.enabled) {
                        ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Link disabled\n"));
-                       return_VALUE(0);
+                       return 0;
                }
        }
 
@@ -282,16 +272,16 @@ static int acpi_pci_link_get_current(struct acpi_pci_link *link)
         * Query and parse _CRS to get the current IRQ assignment. 
         */
 
-       status = acpi_walk_resources(link->handle, METHOD_NAME__CRS,
+       status = acpi_walk_resources(link->device->handle, METHOD_NAME__CRS,
                                     acpi_pci_link_check_current, &irq);
        if (ACPI_FAILURE(status)) {
-               ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Error evaluating _CRS\n"));
+               ACPI_EXCEPTION((AE_INFO, status, "Evaluating _CRS"));
                result = -ENODEV;
                goto end;
        }
 
        if (acpi_strict && !irq) {
-               ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "_CRS returned 0\n"));
+               printk(KERN_ERR PREFIX "_CRS returned 0\n");
                result = -ENODEV;
        }
 
@@ -300,7 +290,7 @@ static int acpi_pci_link_get_current(struct acpi_pci_link *link)
        ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Link at IRQ %d \n", link->irq.active));
 
       end:
-       return_VALUE(result);
+       return result;
 }
 
 static int acpi_pci_link_set(struct acpi_pci_link *link, int irq)
@@ -313,14 +303,13 @@ static int acpi_pci_link_set(struct acpi_pci_link *link, int irq)
        } *resource;
        struct acpi_buffer buffer = { 0, NULL };
 
-       ACPI_FUNCTION_TRACE("acpi_pci_link_set");
 
        if (!link || !irq)
-               return_VALUE(-EINVAL);
+               return -EINVAL;
 
        resource = kmalloc(sizeof(*resource) + 1, GFP_ATOMIC);
        if (!resource)
-               return_VALUE(-ENOMEM);
+               return -ENOMEM;
 
        memset(resource, 0, sizeof(*resource) + 1);
        buffer.length = sizeof(*resource) + 1;
@@ -361,7 +350,7 @@ static int acpi_pci_link_set(struct acpi_pci_link *link, int irq)
                /* ignore resource_source, it's optional */
                break;
        default:
-               printk("ACPI BUG: resource_type %d\n", link->irq.resource_type);
+               printk(KERN_ERR PREFIX "Invalid Resource_type %d\n", link->irq.resource_type);
                result = -EINVAL;
                goto end;
 
@@ -369,11 +358,11 @@ static int acpi_pci_link_set(struct acpi_pci_link *link, int irq)
        resource->end.type = ACPI_RESOURCE_TYPE_END_TAG;
 
        /* Attempt to set the resource */
-       status = acpi_set_current_resources(link->handle, &buffer);
+       status = acpi_set_current_resources(link->device->handle, &buffer);
 
        /* check for total failure */
        if (ACPI_FAILURE(status)) {
-               ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Error evaluating _SRS\n"));
+               ACPI_EXCEPTION((AE_INFO, status, "Evaluating _SRS"));
                result = -ENODEV;
                goto end;
        }
@@ -381,14 +370,14 @@ static int acpi_pci_link_set(struct acpi_pci_link *link, int irq)
        /* Query _STA, set device->status */
        result = acpi_bus_get_status(link->device);
        if (result) {
-               ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Unable to read status\n"));
+               printk(KERN_ERR PREFIX "Unable to read status\n");
                goto end;
        }
        if (!link->device->status.enabled) {
                printk(KERN_WARNING PREFIX
-                      "%s [%s] disabled and referenced, BIOS bug.\n",
-                      acpi_device_name(link->device),
-                      acpi_device_bid(link->device));
+                             "%s [%s] disabled and referenced, BIOS bug\n",
+                             acpi_device_name(link->device),
+                             acpi_device_bid(link->device));
        }
 
        /* Query _CRS, set link->irq.active */
@@ -407,9 +396,9 @@ static int acpi_pci_link_set(struct acpi_pci_link *link, int irq)
                 * assume _SRS worked and override _CRS value.
                 */
                printk(KERN_WARNING PREFIX
-                      "%s [%s] BIOS reported IRQ %d, using IRQ %d\n",
-                      acpi_device_name(link->device),
-                      acpi_device_bid(link->device), link->irq.active, irq);
+                             "%s [%s] BIOS reported IRQ %d, using IRQ %d\n",
+                             acpi_device_name(link->device),
+                             acpi_device_bid(link->device), link->irq.active, irq);
                link->irq.active = irq;
        }
 
@@ -417,7 +406,7 @@ static int acpi_pci_link_set(struct acpi_pci_link *link, int irq)
 
       end:
        kfree(resource);
-       return_VALUE(result);
+       return result;
 }
 
 /* --------------------------------------------------------------------------
@@ -491,7 +480,6 @@ int __init acpi_irq_penalty_init(void)
        struct acpi_pci_link *link = NULL;
        int i = 0;
 
-       ACPI_FUNCTION_TRACE("acpi_irq_penalty_init");
 
        /*
         * Update penalties to facilitate IRQ balancing.
@@ -500,8 +488,7 @@ int __init acpi_irq_penalty_init(void)
 
                link = list_entry(node, struct acpi_pci_link, node);
                if (!link) {
-                       ACPI_DEBUG_PRINT((ACPI_DB_ERROR,
-                                         "Invalid link context\n"));
+                       printk(KERN_ERR PREFIX "Invalid link context\n");
                        continue;
                }
 
@@ -529,7 +516,7 @@ int __init acpi_irq_penalty_init(void)
        /* Add a penalty for the SCI */
        acpi_irq_penalty[acpi_fadt.sci_int] += PIRQ_PENALTY_PCI_USING;
 
-       return_VALUE(0);
+       return 0;
 }
 
 static int acpi_irq_balance;   /* 0: static, 1: balance */
@@ -539,13 +526,12 @@ static int acpi_pci_link_allocate(struct acpi_pci_link *link)
        int irq;
        int i;
 
-       ACPI_FUNCTION_TRACE("acpi_pci_link_allocate");
 
        if (link->irq.initialized) {
                if (link->refcnt == 0)
                        /* This means the link is disabled but initialized */
                        acpi_pci_link_set(link, link->irq.active);
-               return_VALUE(0);
+               return 0;
        }
 
        /*
@@ -561,7 +547,7 @@ static int acpi_pci_link_allocate(struct acpi_pci_link *link)
        if (i == link->irq.possible_count) {
                if (acpi_strict)
                        printk(KERN_WARNING PREFIX "_CRS %d not found"
-                              " in _PRS\n", link->irq.active);
+                                     " in _PRS\n", link->irq.active);
                link->irq.active = 0;
        }
 
@@ -588,12 +574,11 @@ static int acpi_pci_link_allocate(struct acpi_pci_link *link)
 
        /* Attempt to enable the link device at this IRQ. */
        if (acpi_pci_link_set(link, irq)) {
-               printk(PREFIX
-                      "Unable to set IRQ for %s [%s] (likely buggy ACPI BIOS).\n"
-                      "Try pci=noacpi or acpi=off\n",
-                      acpi_device_name(link->device),
-                      acpi_device_bid(link->device));
-               return_VALUE(-ENODEV);
+               printk(KERN_ERR PREFIX "Unable to set IRQ for %s [%s]. "
+                           "Try pci=noacpi or acpi=off\n",
+                           acpi_device_name(link->device),
+                           acpi_device_bid(link->device));
+               return -ENODEV;
        } else {
                acpi_irq_penalty[link->irq.active] += PIRQ_PENALTY_PCI_USING;
                printk(PREFIX "%s [%s] enabled at IRQ %d\n",
@@ -603,7 +588,7 @@ static int acpi_pci_link_allocate(struct acpi_pci_link *link)
 
        link->irq.initialized = 1;
 
-       return_VALUE(0);
+       return 0;
 }
 
 /*
@@ -621,39 +606,38 @@ acpi_pci_link_allocate_irq(acpi_handle handle,
        struct acpi_device *device = NULL;
        struct acpi_pci_link *link = NULL;
 
-       ACPI_FUNCTION_TRACE("acpi_pci_link_allocate_irq");
 
        result = acpi_bus_get_device(handle, &device);
        if (result) {
-               ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Invalid link device\n"));
-               return_VALUE(-1);
+               printk(KERN_ERR PREFIX "Invalid link device\n");
+               return -1;
        }
 
        link = (struct acpi_pci_link *)acpi_driver_data(device);
        if (!link) {
-               ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Invalid link context\n"));
-               return_VALUE(-1);
+               printk(KERN_ERR PREFIX "Invalid link context\n");
+               return -1;
        }
 
        /* TBD: Support multiple index (IRQ) entries per Link Device */
        if (index) {
-               ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Invalid index %d\n", index));
-               return_VALUE(-1);
+               printk(KERN_ERR PREFIX "Invalid index %d\n", index);
+               return -1;
        }
 
-       down(&acpi_link_lock);
+       mutex_lock(&acpi_link_lock);
        if (acpi_pci_link_allocate(link)) {
-               up(&acpi_link_lock);
-               return_VALUE(-1);
+               mutex_unlock(&acpi_link_lock);
+               return -1;
        }
 
        if (!link->irq.active) {
-               up(&acpi_link_lock);
-               ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Link active IRQ is 0!\n"));
-               return_VALUE(-1);
+               mutex_unlock(&acpi_link_lock);
+               printk(KERN_ERR PREFIX "Link active IRQ is 0!\n");
+               return -1;
        }
        link->refcnt++;
-       up(&acpi_link_lock);
+       mutex_unlock(&acpi_link_lock);
 
        if (triggering)
                *triggering = link->irq.triggering;
@@ -664,7 +648,7 @@ acpi_pci_link_allocate_irq(acpi_handle handle,
        ACPI_DEBUG_PRINT((ACPI_DB_INFO,
                          "Link %s is referenced\n",
                          acpi_device_bid(link->device)));
-       return_VALUE(link->irq.active);
+       return (link->irq.active);
 }
 
 /*
@@ -677,25 +661,24 @@ int acpi_pci_link_free_irq(acpi_handle handle)
        struct acpi_pci_link *link = NULL;
        acpi_status result;
 
-       ACPI_FUNCTION_TRACE("acpi_pci_link_free_irq");
 
        result = acpi_bus_get_device(handle, &device);
        if (result) {
-               ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Invalid link device\n"));
-               return_VALUE(-1);
+               printk(KERN_ERR PREFIX "Invalid link device\n");
+               return -1;
        }
 
        link = (struct acpi_pci_link *)acpi_driver_data(device);
        if (!link) {
-               ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Invalid link context\n"));
-               return_VALUE(-1);
+               printk(KERN_ERR PREFIX "Invalid link context\n");
+               return -1;
        }
 
-       down(&acpi_link_lock);
+       mutex_lock(&acpi_link_lock);
        if (!link->irq.initialized) {
-               up(&acpi_link_lock);
-               ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Link isn't initialized\n"));
-               return_VALUE(-1);
+               mutex_unlock(&acpi_link_lock);
+               printk(KERN_ERR PREFIX "Link isn't initialized\n");
+               return -1;
        }
 #ifdef FUTURE_USE
        /*
@@ -714,10 +697,10 @@ int acpi_pci_link_free_irq(acpi_handle handle)
                          acpi_device_bid(link->device)));
 
        if (link->refcnt == 0) {
-               acpi_ut_evaluate_object(link->handle, "_DIS", 0, NULL);
+               acpi_ut_evaluate_object(link->device->handle, "_DIS", 0, NULL);
        }
-       up(&acpi_link_lock);
-       return_VALUE(link->irq.active);
+       mutex_unlock(&acpi_link_lock);
+       return (link->irq.active);
 }
 
 /* --------------------------------------------------------------------------
@@ -731,23 +714,21 @@ static int acpi_pci_link_add(struct acpi_device *device)
        int i = 0;
        int found = 0;
 
-       ACPI_FUNCTION_TRACE("acpi_pci_link_add");
 
        if (!device)
-               return_VALUE(-EINVAL);
+               return -EINVAL;
 
        link = kmalloc(sizeof(struct acpi_pci_link), GFP_KERNEL);
        if (!link)
-               return_VALUE(-ENOMEM);
+               return -ENOMEM;
        memset(link, 0, sizeof(struct acpi_pci_link));
 
        link->device = device;
-       link->handle = device->handle;
        strcpy(acpi_device_name(device), ACPI_PCI_LINK_DEVICE_NAME);
        strcpy(acpi_device_class(device), ACPI_PCI_LINK_CLASS);
        acpi_driver_data(device) = link;
 
-       down(&acpi_link_lock);
+       mutex_lock(&acpi_link_lock);
        result = acpi_pci_link_get_possible(link);
        if (result)
                goto end;
@@ -781,72 +762,61 @@ static int acpi_pci_link_add(struct acpi_device *device)
 
       end:
        /* disable all links -- to be activated on use */
-       acpi_ut_evaluate_object(link->handle, "_DIS", 0, NULL);
-       up(&acpi_link_lock);
+       acpi_ut_evaluate_object(device->handle, "_DIS", 0, NULL);
+       mutex_unlock(&acpi_link_lock);
 
        if (result)
                kfree(link);
 
-       return_VALUE(result);
+       return result;
 }
 
 static int acpi_pci_link_resume(struct acpi_pci_link *link)
 {
-       ACPI_FUNCTION_TRACE("acpi_pci_link_resume");
 
        if (link->refcnt && link->irq.active && link->irq.initialized)
-               return_VALUE(acpi_pci_link_set(link, link->irq.active));
+               return (acpi_pci_link_set(link, link->irq.active));
        else
-               return_VALUE(0);
+               return 0;
 }
 
-/*
- * FIXME: this is a workaround to avoid nasty warning.  It will be removed
- * after every device calls pci_disable_device in .resume.
- */
-int acpi_in_resume;
 static int irqrouter_resume(struct sys_device *dev)
 {
        struct list_head *node = NULL;
        struct acpi_pci_link *link = NULL;
 
-       ACPI_FUNCTION_TRACE("irqrouter_resume");
 
        /* Make sure SCI is enabled again (Apple firmware bug?) */
        acpi_set_register(ACPI_BITREG_SCI_ENABLE, 1, ACPI_MTX_DO_NOT_LOCK);
 
-       acpi_in_resume = 1;
        list_for_each(node, &acpi_link.entries) {
                link = list_entry(node, struct acpi_pci_link, node);
                if (!link) {
-                       ACPI_DEBUG_PRINT((ACPI_DB_ERROR,
-                                         "Invalid link context\n"));
+                       printk(KERN_ERR PREFIX "Invalid link context\n");
                        continue;
                }
                acpi_pci_link_resume(link);
        }
-       acpi_in_resume = 0;
-       return_VALUE(0);
+       return 0;
 }
 
 static int acpi_pci_link_remove(struct acpi_device *device, int type)
 {
        struct acpi_pci_link *link = NULL;
 
-       ACPI_FUNCTION_TRACE("acpi_pci_link_remove");
 
        if (!device || !acpi_driver_data(device))
-               return_VALUE(-EINVAL);
+               return -EINVAL;
 
        link = (struct acpi_pci_link *)acpi_driver_data(device);
 
-       down(&acpi_link_lock);
+       mutex_lock(&acpi_link_lock);
        list_del(&link->node);
-       up(&acpi_link_lock);
+       mutex_unlock(&acpi_link_lock);
 
        kfree(link);
 
-       return_VALUE(0);
+       return 0;
 }
 
 /*
@@ -952,34 +922,32 @@ static int __init irqrouter_init_sysfs(void)
 {
        int error;
 
-       ACPI_FUNCTION_TRACE("irqrouter_init_sysfs");
 
        if (acpi_disabled || acpi_noirq)
-               return_VALUE(0);
+               return 0;
 
        error = sysdev_class_register(&irqrouter_sysdev_class);
        if (!error)
                error = sysdev_register(&device_irqrouter);
 
-       return_VALUE(error);
+       return error;
 }
 
 device_initcall(irqrouter_init_sysfs);
 
 static int __init acpi_pci_link_init(void)
 {
-       ACPI_FUNCTION_TRACE("acpi_pci_link_init");
 
        if (acpi_noirq)
-               return_VALUE(0);
+               return 0;
 
        acpi_link.count = 0;
        INIT_LIST_HEAD(&acpi_link.entries);
 
        if (acpi_bus_register_driver(&acpi_pci_link_driver) < 0)
-               return_VALUE(-ENODEV);
+               return -ENODEV;
 
-       return_VALUE(0);
+       return 0;
 }
 
 subsys_initcall(acpi_pci_link_init);