linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / drivers / w1 / w1_family.c
index a3c95bd..9e293e1 100644 (file)
 #include <linux/delay.h>
 
 #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);