]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - drivers/misc/sgi-xp/xpc_partition.c
sgi-xpc: clean up numerous globals
[net-next-2.6.git] / drivers / misc / sgi-xp / xpc_partition.c
index 6722f6fe4dc7a3820dd6dda91beff08d627c7b1b..65877bc5edaae9e67dd391b665de91670556fd20 100644 (file)
@@ -70,6 +70,9 @@ xpc_get_rsvd_page_pa(int nasid)
        size_t buf_len = 0;
        void *buf = buf;
        void *buf_base = NULL;
+       enum xp_retval (*get_partition_rsvd_page_pa)
+               (void *, u64 *, unsigned long *, size_t *) =
+               xpc_arch_ops.get_partition_rsvd_page_pa;
 
        while (1) {
 
@@ -79,8 +82,7 @@ xpc_get_rsvd_page_pa(int nasid)
                 * ??? function or have two versions? Rename rp_pa for UV to
                 * ??? rp_gpa?
                 */
-               ret = xpc_get_partition_rsvd_page_pa(buf, &cookie, &rp_pa,
-                                                    &len);
+               ret = get_partition_rsvd_page_pa(buf, &cookie, &rp_pa, &len);
 
                dev_dbg(xpc_part, "SAL returned with ret=%d, cookie=0x%016lx, "
                        "address=0x%016lx, len=0x%016lx\n", ret,
@@ -172,7 +174,7 @@ xpc_setup_rsvd_page(void)
        xpc_part_nasids = XPC_RP_PART_NASIDS(rp);
        xpc_mach_nasids = XPC_RP_MACH_NASIDS(rp);
 
-       ret = xpc_setup_rsvd_page_sn(rp);
+       ret = xpc_arch_ops.setup_rsvd_page(rp);
        if (ret != 0)
                return ret;
 
@@ -264,7 +266,7 @@ xpc_partition_disengaged(struct xpc_partition *part)
        short partid = XPC_PARTID(part);
        int disengaged;
 
-       disengaged = !xpc_partition_engaged(partid);
+       disengaged = !xpc_arch_ops.partition_engaged(partid);
        if (part->disengage_timeout) {
                if (!disengaged) {
                        if (time_is_after_jiffies(part->disengage_timeout)) {
@@ -280,7 +282,7 @@ xpc_partition_disengaged(struct xpc_partition *part)
                        dev_info(xpc_part, "deactivate request to remote "
                                 "partition %d timed out\n", partid);
                        xpc_disengage_timedout = 1;
-                       xpc_assume_partition_disengaged(partid);
+                       xpc_arch_ops.assume_partition_disengaged(partid);
                        disengaged = 1;
                }
                part->disengage_timeout = 0;
@@ -294,7 +296,7 @@ xpc_partition_disengaged(struct xpc_partition *part)
                if (part->act_state != XPC_P_AS_INACTIVE)
                        xpc_wakeup_channel_mgr(part);
 
-               xpc_cancel_partition_deactivation_request(part);
+               xpc_arch_ops.cancel_partition_deactivation_request(part);
        }
        return disengaged;
 }
@@ -339,7 +341,7 @@ xpc_deactivate_partition(const int line, struct xpc_partition *part,
                spin_unlock_irqrestore(&part->act_lock, irq_flags);
                if (reason == xpReactivating) {
                        /* we interrupt ourselves to reactivate partition */
-                       xpc_request_partition_reactivation(part);
+                       xpc_arch_ops.request_partition_reactivation(part);
                }
                return;
        }
@@ -358,7 +360,7 @@ xpc_deactivate_partition(const int line, struct xpc_partition *part,
        spin_unlock_irqrestore(&part->act_lock, irq_flags);
 
        /* ask remote partition to deactivate with regard to us */
-       xpc_request_partition_deactivation(part);
+       xpc_arch_ops.request_partition_deactivation(part);
 
        /* set a timelimit on the disengage phase of the deactivation request */
        part->disengage_timeout = jiffies + (xpc_disengage_timelimit * HZ);
@@ -496,7 +498,7 @@ xpc_discovery(void)
                                continue;
                        }
 
-                       xpc_request_partition_activation(remote_rp,
+                       xpc_arch_ops.request_partition_activation(remote_rp,
                                                         remote_rp_pa, nasid);
                }
        }