summaryrefslogtreecommitdiffstats
path: root/arch/sparc
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2013-02-06 15:30:56 -0500
committerRob Herring <rob.herring@calxeda.com>2013-02-08 17:02:40 -0600
commitd6d3c4e656513dcea61ce900f0ecb9ca820ee7cd (patch)
tree9d5602c46a048aa23be0f5f3fffcf126ace3f651 /arch/sparc
parenteb7ccb8184ab36b61fb596bd8d573e22e04d6266 (diff)
downloadop-kernel-dev-d6d3c4e656513dcea61ce900f0ecb9ca820ee7cd.zip
op-kernel-dev-d6d3c4e656513dcea61ce900f0ecb9ca820ee7cd.tar.gz
OF: convert devtree lock from rw_lock to raw spinlock
With the locking cleanup in place (from "OF: Fixup resursive locking code paths"), we can now do the conversion from the rw_lock to a raw spinlock as required for preempt-rt. The previous cleanup and this conversion were originally separate since they predated when mainline got raw spinlock (in commit c2f21ce2e31286a "locking: Implement new raw_spinlock"). So, at that point in time, the cleanup was considered plausible for mainline, but not this conversion. In any case, we've kept them separate as it makes for easier review and better bisection. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> [PG: taken from preempt-rt, update subject & add a commit log] Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Diffstat (limited to 'arch/sparc')
-rw-r--r--arch/sparc/kernel/prom_common.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/sparc/kernel/prom_common.c b/arch/sparc/kernel/prom_common.c
index 1303021..9f20566b 100644
--- a/arch/sparc/kernel/prom_common.c
+++ b/arch/sparc/kernel/prom_common.c
@@ -64,7 +64,7 @@ int of_set_property(struct device_node *dp, const char *name, void *val, int len
err = -ENODEV;
mutex_lock(&of_set_property_mutex);
- write_lock(&devtree_lock);
+ raw_spin_lock(&devtree_lock);
prevp = &dp->properties;
while (*prevp) {
struct property *prop = *prevp;
@@ -91,7 +91,7 @@ int of_set_property(struct device_node *dp, const char *name, void *val, int len
}
prevp = &(*prevp)->next;
}
- write_unlock(&devtree_lock);
+ raw_spin_unlock(&devtree_lock);
mutex_unlock(&of_set_property_mutex);
/* XXX Upate procfs if necessary... */
OpenPOWER on IntegriCloud