X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=drivers%2Fw1%2Fw1_family.c;h=a3c95bd6890af7ae20a8c63b00d3b0082f714ad0;hb=eaa8568901b3164197ce727c4c9b4067383e526c;hp=02eee57d3c0cd2c46e394faf1617251944778e42;hpb=8b0ee07e108b2eefdab5bb73f33223f18926c3b2;p=linux-2.6 diff --git a/drivers/w1/w1_family.c b/drivers/w1/w1_family.c index 02eee57d3c..a3c95bd689 100644 --- a/drivers/w1/w1_family.c +++ b/drivers/w1/w1_family.c @@ -21,21 +21,14 @@ #include #include +#include /* schedule_timeout() */ #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); - -static int w1_check_family(struct w1_family *f) -{ - if (!f->fops->rname || !f->fops->rbin) - return -EINVAL; - - return 0; -} int w1_register_family(struct w1_family *newf) { @@ -43,9 +36,6 @@ int w1_register_family(struct w1_family *newf) struct w1_family *f; int ret = 0; - if (w1_check_family(newf)) - return -EINVAL; - spin_lock(&w1_flock); list_for_each_safe(ent, n, &w1_families) { f = list_entry(ent, struct w1_family, family_entry); @@ -117,6 +107,12 @@ 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); @@ -124,19 +120,14 @@ void w1_family_put(struct w1_family *f) spin_unlock(&w1_flock); } -void __w1_family_put(struct w1_family *f) -{ - if (atomic_dec_and_test(&f->refcnt)) - f->need_exit = 1; -} - +#if 0 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) { @@ -145,8 +136,5 @@ 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);