fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / drivers / pci / hotplug / rpadlpar_core.c
index 3eefe2c..7238346 100644 (file)
@@ -19,7 +19,7 @@
 #include <linux/string.h>
 
 #include <asm/pci-bridge.h>
-#include <asm/semaphore.h>
+#include <linux/mutex.h>
 #include <asm/rtas.h>
 #include <asm/vio.h>
 
@@ -27,7 +27,7 @@
 #include "rpaphp.h"
 #include "rpadlpar.h"
 
-static DECLARE_MUTEX(rpadlpar_sem);
+static DEFINE_MUTEX(rpadlpar_mutex);
 
 #define DLPAR_MODULE_NAME "rpadlpar_io"
 
@@ -63,7 +63,7 @@ static struct device_node *find_php_slot_pci_node(char *drc_name,
        char *type;
        int rc;
 
-       while ((np = of_find_node_by_type(np, "pci"))) {
+       while ((np = of_find_node_by_name(np, "pci"))) {
                rc = rpaphp_get_drc_props(np, NULL, &name, &type, NULL);
                if (rc == 0)
                        if (!strcmp(drc_name, name) && !strcmp(drc_type, type))
@@ -300,7 +300,7 @@ int dlpar_add_slot(char *drc_name)
        int node_type;
        int rc = -EIO;
 
-       if (down_interruptible(&rpadlpar_sem))
+       if (mutex_lock_interruptible(&rpadlpar_mutex))
                return -ERESTARTSYS;
 
        /* Find newly added node */
@@ -324,7 +324,7 @@ int dlpar_add_slot(char *drc_name)
 
        printk(KERN_INFO "%s: slot %s added\n", DLPAR_MODULE_NAME, drc_name);
 exit:
-       up(&rpadlpar_sem);
+       mutex_unlock(&rpadlpar_mutex);
        return rc;
 }
 
@@ -417,7 +417,7 @@ int dlpar_remove_slot(char *drc_name)
        int node_type;
        int rc = 0;
 
-       if (down_interruptible(&rpadlpar_sem))
+       if (mutex_lock_interruptible(&rpadlpar_mutex))
                return -ERESTARTSYS;
 
        dn = find_dlpar_node(drc_name, &node_type);
@@ -439,7 +439,7 @@ int dlpar_remove_slot(char *drc_name)
        }
        printk(KERN_INFO "%s: slot %s removed\n", DLPAR_MODULE_NAME, drc_name);
 exit:
-       up(&rpadlpar_sem);
+       mutex_unlock(&rpadlpar_mutex);
        return rc;
 }