Merge branch 'linux-2.6' into for-2.6.22
[sfrench/cifs-2.6.git] / drivers / macintosh / smu.c
index 3096836d8bd3309e35b459d2684b6688838ff58e..a98a328b1cfcf335a637079cbc6c3b189c8c27a1 100644 (file)
@@ -491,7 +491,7 @@ int __init smu_init (void)
                printk(KERN_ERR "SMU: Can't find doorbell GPIO !\n");
                goto fail;
        }
-       data = get_property(smu->db_node, "reg", NULL);
+       data = of_get_property(smu->db_node, "reg", NULL);
        if (data == NULL) {
                of_node_put(smu->db_node);
                smu->db_node = NULL;
@@ -512,7 +512,7 @@ int __init smu_init (void)
                smu->msg_node = of_find_node_by_name(NULL, "smu-interrupt");
                if (smu->msg_node == NULL)
                        break;
-               data = get_property(smu->msg_node, "reg", NULL);
+               data = of_get_property(smu->msg_node, "reg", NULL);
                if (data == NULL) {
                        of_node_put(smu->msg_node);
                        smu->msg_node = NULL;
@@ -952,7 +952,7 @@ static struct smu_sdbp_header *smu_create_sdb_partition(int id)
        prop->name = ((char *)prop) + tlen - 18;
        sprintf(prop->name, "sdb-partition-%02x", id);
        prop->length = len;
-       prop->value = (unsigned char *)hdr;
+       prop->value = hdr;
        prop->next = NULL;
 
        /* Read the datablock */
@@ -1004,7 +1004,7 @@ const struct smu_sdbp_header *__smu_get_sdb_partition(int id,
        } else
                mutex_lock(&smu_part_access);
 
-       part = get_property(smu->of_node, pname, size);
+       part = of_get_property(smu->of_node, pname, size);
        if (part == NULL) {
                DPRINTK("trying to extract from SMU ...\n");
                part = smu_create_sdb_partition(id);
@@ -1259,9 +1259,9 @@ static int smu_release(struct inode *inode, struct file *file)
                        set_current_state(TASK_UNINTERRUPTIBLE);
                        if (pp->cmd.status != 1)
                                break;
-                       spin_lock_irqsave(&pp->lock, flags);
-                       schedule();
                        spin_unlock_irqrestore(&pp->lock, flags);
+                       schedule();
+                       spin_lock_irqsave(&pp->lock, flags);
                }
                set_current_state(TASK_RUNNING);
                remove_wait_queue(&pp->wait, &wait);