#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)
{
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);
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)
{
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);