X-Git-Url: http://git.onelab.eu/?p=linux-2.6.git;a=blobdiff_plain;f=drivers%2Fw1%2Fw1_family.c;fp=drivers%2Fw1%2Fw1_family.c;h=9e293e139a0e8e05737ebf4d555116aef745c684;hp=a3c95bd6890af7ae20a8c63b00d3b0082f714ad0;hb=64ba3f394c830ec48a1c31b53dcae312c56f1604;hpb=be1e6109ac94a859551f8e1774eb9a8469fe055c diff --git a/drivers/w1/w1_family.c b/drivers/w1/w1_family.c index a3c95bd68..9e293e139 100644 --- a/drivers/w1/w1_family.c +++ b/drivers/w1/w1_family.c @@ -25,10 +25,10 @@ #include #include "w1_family.h" -#include "w1.h" DEFINE_SPINLOCK(w1_flock); static LIST_HEAD(w1_families); +extern void w1_reconnect_slaves(struct w1_family *f); int w1_register_family(struct w1_family *newf) { @@ -107,12 +107,6 @@ struct w1_family * w1_family_registered(u8 fid) return (ret) ? f : NULL; } -static void __w1_family_put(struct w1_family *f) -{ - if (atomic_dec_and_test(&f->refcnt)) - f->need_exit = 1; -} - void w1_family_put(struct w1_family *f) { spin_lock(&w1_flock); @@ -120,14 +114,19 @@ void w1_family_put(struct w1_family *f) spin_unlock(&w1_flock); } -#if 0 +void __w1_family_put(struct w1_family *f) +{ + if (atomic_dec_and_test(&f->refcnt)) + f->need_exit = 1; +} + void w1_family_get(struct w1_family *f) { spin_lock(&w1_flock); __w1_family_get(f); spin_unlock(&w1_flock); + } -#endif /* 0 */ void __w1_family_get(struct w1_family *f) { @@ -136,5 +135,8 @@ void __w1_family_get(struct w1_family *f) smp_mb__after_atomic_inc(); } +EXPORT_SYMBOL(w1_family_get); +EXPORT_SYMBOL(w1_family_put); +EXPORT_SYMBOL(w1_family_registered); EXPORT_SYMBOL(w1_unregister_family); EXPORT_SYMBOL(w1_register_family);